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:
authorkchong2005-11-15 07:22:38 +0000
committerkchong2005-11-15 07:22:38 +0000
commit9622f406baf477c46c10df6168a93f7b57319184 (patch)
treeea0c146fad8dc4d9b818bee5f3eb990e2145ee5f /bundles/org.eclipse.wst.wsi
parentda7cb01e3ecc19c75cdde27a0b1684b25fcdcc94 (diff)
downloadwebtools.webservices-20051115_1102.tar.gz
webtools.webservices-20051115_1102.tar.xz
webtools.webservices-20051115_1102.zip
This commit was manufactured by cvs2svn to create tag 'v20051115_1102'.v20051115_1102
Diffstat (limited to 'bundles/org.eclipse.wst.wsi')
-rw-r--r--bundles/org.eclipse.wst.wsi/.classpath7
-rw-r--r--bundles/org.eclipse.wst.wsi/.cvsignore6
-rw-r--r--bundles/org.eclipse.wst.wsi/.project28
-rw-r--r--bundles/org.eclipse.wst.wsi/META-INF/MANIFEST.MF28
-rw-r--r--bundles/org.eclipse.wst.wsi/about.html22
-rw-r--r--bundles/org.eclipse.wst.wsi/build.properties10
-rw-r--r--bundles/org.eclipse.wst.wsi/component.xml1
-rw-r--r--bundles/org.eclipse.wst.wsi/plugin.properties13
-rw-r--r--bundles/org.eclipse.wst.wsi/plugin.xml28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSIPreferences.java74
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsEclipseProperties.java105
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsPlugin.java58
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsProperties.java81
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/MessageAnalyzer.java314
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSDLAnalyzer.java393
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSIAnalyzerException.java82
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSIBasicProfileAnalyzer.java87
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/ToolEnvironment.java254
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/ToolInfo.java447
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIConstants.java488
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIException.java151
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIFileNotFoundException.java56
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIRuntimeException.java55
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSITag.java114
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/Analyzer.java313
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/Analyzer.properties44
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AnalyzerContext.java79
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionFailException.java43
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionNotApplicableException.java43
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionPassException.java43
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionResultException.java65
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/BasicProfileAnalyzer.java659
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/CandidateInfo.java918
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/EnvironmentInfo.java83
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/ServiceReference.java109
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AnalyzerConfig.java256
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AnalyzerConfigReader.java51
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AssertionResultType.java160
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AssertionResultsOption.java100
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/UDDIReference.java116
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/WSDLElement.java135
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/WSDLReference.java78
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AnalyzerConfigImpl.java1060
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AnalyzerConfigReaderImpl.java559
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AssertionResultsOptionImpl.java200
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/UDDIReferenceImpl.java197
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/WSDLElementImpl.java202
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/WSDLReferenceImpl.java163
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/common/AddStyleSheet.java124
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/common/impl/AddStyleSheetImpl.java220
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentElement.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentFactory.java175
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentReader.java34
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentWriter.java67
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/WSIDocument.java34
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/impl/DocumentFactoryImpl.java156
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/impl/DocumentWriterImpl.java133
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/Log.java98
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogBuilder.java429
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogReader.java48
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogWriter.java46
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MessageEntry.java217
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MessageEntryHandler.java41
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MimePart.java75
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MimeParts.java60
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/RequestHandler.java132
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/LogImpl.java219
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/LogReaderImpl.java784
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/LogWriterImpl.java51
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MessageEntryImpl.java374
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MimePartImpl.java135
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MimePartsImpl.java75
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ChunkedData.java221
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ConnectionListener.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/MessageEntryQueue.java220
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/Monitor.java505
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/Monitor.properties38
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ServerSocketListener.java140
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/SocketConnection.java306
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/SocketHandler.java963
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/Comment.java50
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/ManInTheMiddle.java72
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/MonitorConfig.java165
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/MonitorConfigReader.java49
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/Redirect.java124
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/CommentImpl.java75
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/ManInTheMiddleImpl.java142
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigImpl.java561
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigReaderImpl.java479
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/RedirectImpl.java299
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/EntryTypeList.java82
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/Profile.java24
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/ProfileArtifact.java87
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/ProfileAssertions.java123
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/ProfileAssertionsReader.java43
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/TestAssertion.java176
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/EntryTypeListImpl.java94
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileArtifactImpl.java123
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileAssertionsImpl.java193
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileAssertionsReaderImpl.java543
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/TestAssertionImpl.java256
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/BaseValidator.java50
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EntryContext.java222
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EnvelopeValidator.java52
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/MessageValidator.java68
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/ProfileValidatorFactory.java96
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/UDDIValidator.java54
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/WSDLValidator.java55
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcess.java66
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcessVisitor.java154
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseMessageValidator.java1837
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseValidatorImpl.java705
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/ProfileValidatorFactoryImpl.java75
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1920.java118
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1928.java426
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1005.java167
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1007.java64
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1008.java277
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1009.java313
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1011.java203
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1012.java102
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1013.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1031.java108
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1032.java152
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1033.java126
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1100.java103
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1107.java277
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1201.java77
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1202.java104
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1203.java147
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1204.java302
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1208.java88
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1211.java147
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1212.java165
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1213.java141
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1214.java142
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1301.java198
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1302.java181
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1305.java132
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1306.java114
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1307.java98
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1308.java97
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1309.java124
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1316.java113
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1318.java183
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1600.java267
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1601.java73
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1701.java110
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1755.java167
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4100.java226
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4101.java132
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4102.java114
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4109.java107
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/EnvelopeValidatorImpl.java56
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP1601.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP9704.java126
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1003.java59
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1902.java124
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1915.java136
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1917.java153
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1925.java133
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1926.java210
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1931.java91
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1932.java80
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1933.java257
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1934.java103
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1935.java348
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1936.java72
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1942.java264
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1945.java73
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1946.java64
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5100.java53
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5101.java51
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1001.java101
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1002.java137
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1004.java73
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1006.java69
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1010.java126
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1101.java86
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1103.java80
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1104.java93
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1116.java150
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4103.java126
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4104.java87
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4105.java95
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4106.java77
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4107.java66
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/MessageValidatorImpl.java57
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP1003.java228
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5100.java80
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5101.java67
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1001.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1002.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1003.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1004.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1005.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1006.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1007.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1008.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1009.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1010.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1011.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1012.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1013.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1031.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1100.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1101.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1102.java150
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1103.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1104.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1105.java110
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1107.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1108.java415
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1109.java103
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1110.java104
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1111.java111
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1116.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1121.java162
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1201.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1202.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1203.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1204.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1208.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1211.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1301.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1302.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1305.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1306.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1307.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1308.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1309.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1311.java204
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1316.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1318.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1601.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1701.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4100.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4101.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4102.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4103.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4104.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4105.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4106.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4107.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3001.java160
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3002.java81
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3003.java84
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/UDDIValidatorImpl.java590
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3001.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3002.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3003.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3004.java290
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3005_OBSOLETE.java119
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3006.java165
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3007.java155
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3021.java115
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2901.java146
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2903.java241
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2904.java47
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2906.java216
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2907.java52
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2908.java297
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2909.java215
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2910.java230
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2911.java228
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2930.java136
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2940.java450
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2941.java341
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2944.java234
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2946.java194
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2010.java119
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2011.java341
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2012.java123
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2013.java91
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2014.java286
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2017.java142
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2018.java127
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2019.java122
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2020.java162
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2021.java112
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2022.java82
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2023.java85
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2032.java86
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2034.java94
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2098.java69
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2101.java116
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2102.java203
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2103.java130
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2104.java100
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2105.java232
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2107.java200
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2108.java94
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2110.java98
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2111.java142
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2112.java203
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2113.java159
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2114.java278
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2115.java97
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2116.java88
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2117.java183
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2118.java98
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2119.java165
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2120.java247
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2121.java174
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2122.java95
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2123.java357
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2201.java189
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2202.java420
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2208.java72
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2402.java69
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2404.java76
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2406.java166
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2416.java209
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2417.java160
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2700.java82
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2701.java89
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2703.java111
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2803.java87
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4200.java162
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4201.java144
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4202.java131
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2209.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2402.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2403.java191
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSDLValidatorImpl.java2314
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2010.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2011.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2012.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2013.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2014.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2017.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2018.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2019.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2020.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2021.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2022.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2032.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2098.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2099.java157
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2100.java171
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2101.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2102.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2103.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2104.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2105.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2107.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2108.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2110.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2111.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2112.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2113.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2114.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2115.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2116.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2117.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2118.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2119.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2120.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2122.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2123.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2201.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2202.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2208.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2402.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2403.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2404.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2406.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2416.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2417.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2700.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2701.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2703.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4200.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4201.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4202.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ArtifactReference.java67
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/AssertionResult.java148
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/BuildReport.java125
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/Entry.java153
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/EntryContainer.java35
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/EntryResult.java42
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/FailureDetail.java94
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/PrereqFailedList.java43
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/Report.java105
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ReportArtifact.java79
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ReportContext.java116
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ReportWriter.java40
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/Reporter.java21
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/WriteReport.java47
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ArtifactReferenceImpl.java125
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/AssertionResultImpl.java236
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/DefaultReporter.java287
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/EntryContainerImpl.java56
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/EntryImpl.java276
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/EntryResultImpl.java56
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/FailureDetailImpl.java151
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/PrereqFailedListImpl.java76
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportArtifactImpl.java115
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportImpl.java514
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportWriterImpl.java63
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/toolinfo.properties18
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/ArtifactType.java140
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/BasicRules.java477
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/EntryType.java278
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/ErrorList.java156
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HTTPConstants.java600
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HTTPUtils.java182
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HttpHeadersValidator.java1720
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/JavaEncoding.properties31
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/MIMEConstants.java24
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/MIMEUtils.java138
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/MessageList.java171
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/NullUtil.java40
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/OperationSignature.java788
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/Pair.java77
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/SetCookie2Validator.java629
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/StringTokenizer.java212
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/TestUtils.java192
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/TypesRegistry.java577
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/UDDIUtils.java336
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/Utils.java1415
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/WSDLUtil.java154
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/WSIProperties.java347
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/XMLInfo.java27
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/wsi.properties46
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLDocument.java293
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLElementList.java99
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLReaderImpl.java801
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLUtils.java384
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/VisitorAdaptor.java201
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLTraversal.java3271
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLTraversalContext.java1126
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLVisitor.java233
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/FileEntityResolver.java50
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineSchemaGenerator.java590
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineSchemaValidator.java241
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineXSDResolver.java110
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/LazyURLInputStream.java162
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/SchemaAttributeTable.java105
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/ValidateErrorHandler.java62
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalog.java90
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalogImpl.java45
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalogResolver.java67
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLEntityResolverChain.java74
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XSDValidator.java190
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLConvertor.java69
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLDocumentCache.java77
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLDocumentCacheUser.java117
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLTags.java60
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLTraversal.java129
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLUtils.java1528
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLVisitor.java186
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/dom/DOMParser.java93
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/dom/ElementLocation.java91
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/jaxp/DocumentBuilderFactoryImpl.java100
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/jaxp/DocumentBuilderImpl.java248
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/TargetNamespaceProcessor.java142
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaProcessor.java170
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaValidator.java152
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/document/DocumentFactoryImpl.java54
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/report/AssertionError.java131
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/report/ReportNoWriterImpl.java84
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/validate/wsdl/WSDLValidator.java369
-rw-r--r--bundles/org.eclipse.wst.wsi/src/wsivalidate.properties16
464 files changed, 0 insertions, 75611 deletions
diff --git a/bundles/org.eclipse.wst.wsi/.classpath b/bundles/org.eclipse.wst.wsi/.classpath
deleted file mode 100644
index cb0105380..000000000
--- a/bundles/org.eclipse.wst.wsi/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src/"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.wsi/.cvsignore b/bundles/org.eclipse.wst.wsi/.cvsignore
deleted file mode 100644
index ab6b2343a..000000000
--- a/bundles/org.eclipse.wst.wsi/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-bin
-temp.folder
-build.xml
-wsi.jar
-@dot
-src.zip
diff --git a/bundles/org.eclipse.wst.wsi/.project b/bundles/org.eclipse.wst.wsi/.project
deleted file mode 100644
index cc60c1f73..000000000
--- a/bundles/org.eclipse.wst.wsi/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.wst.wsi</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.wst.wsi/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.wsi/META-INF/MANIFEST.MF
deleted file mode 100644
index 4ff2b1707..000000000
--- a/bundles/org.eclipse.wst.wsi/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,28 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %_PLUGIN_NAME
-Bundle-SymbolicName: org.eclipse.wst.wsi; singleton:=true
-Bundle-Version: 1.0.0
-Bundle-Activator: org.eclipse.wst.wsi.internal.WSITestToolsPlugin
-Bundle-Vendor: %_PROVIDER_NAME
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.wsi.internal,
- org.eclipse.wst.wsi.internal.analyzer,
- org.eclipse.wst.wsi.internal.core,
- org.eclipse.wst.wsi.internal.core.log,
- org.eclipse.wst.wsi.internal.core.wsdl,
- org.eclipse.wst.wsi.internal.core.xml,
- org.eclipse.wst.wsi.internal.report
-Require-Bundle: org.eclipse.wst.command.env,
- org.eclipse.wst.command.env.ui,
- org.eclipse.wst.command.env.core,
- org.eclipse.wst.common.uriresolver,
- org.eclipse.core.resources,
- org.eclipse.wst.wsdl.validation,
- org.eclipse.wst.ws,
- org.eclipse.ui,
- org.wsdl4j,
- org.uddi4j,
- org.eclipse.core.runtime;bundle-version="2.1.0",
- org.apache.axis
-Eclipse-AutoStart: true
diff --git a/bundles/org.eclipse.wst.wsi/about.html b/bundles/org.eclipse.wst.wsi/about.html
deleted file mode 100644
index 6f6b96c4c..000000000
--- a/bundles/org.eclipse.wst.wsi/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>February 24, 2005</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/build.properties b/bundles/org.eclipse.wst.wsi/build.properties
deleted file mode 100644
index 87f191fa0..000000000
--- a/bundles/org.eclipse.wst.wsi/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-bin.includes = .,\
- plugin.properties,\
- plugin.xml,\
- META-INF/,\
- about.html
-source.. = src/
-jars.compile.order = .
-output.. = bin/
-src.includes = component.xml,\
- build.properties
diff --git a/bundles/org.eclipse.wst.wsi/component.xml b/bundles/org.eclipse.wst.wsi/component.xml
deleted file mode 100644
index 48a2cafe3..000000000
--- a/bundles/org.eclipse.wst.wsi/component.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><component xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.wst.wsi"><description url=""></description><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.wst.wsi" fragment="false"/><plugin id="org.eclipse.wst.wsi.ui" fragment="false"/></component> \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/plugin.properties b/bundles/org.eclipse.wst.wsi/plugin.properties
deleted file mode 100644
index 2c65e29c7..000000000
--- a/bundles/org.eclipse.wst.wsi/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-# /*******************************************************************************
-# * 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
-# *******************************************************************************/
-_PLUGIN_NAME = WSI Conformance Tools
-_UI_WSDL_WSI_VALIDATOR = WSDL WS-I Validator
-_PROVIDER_NAME = Eclipse.org
diff --git a/bundles/org.eclipse.wst.wsi/plugin.xml b/bundles/org.eclipse.wst.wsi/plugin.xml
deleted file mode 100644
index 84a392841..000000000
--- a/bundles/org.eclipse.wst.wsi/plugin.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*******************************************************************************
- * 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
- *******************************************************************************/
--->
-
-<plugin>
-
- <extension
- id="wsdlWSIValidator"
- name="%_UI_WSDL_WSI_VALIDATOR"
- point="org.eclipse.wst.wsdl.validation.extvalidator">
- <extvalidator
- namespace="http://schemas.xmlsoap.org/wsdl/"
- class="org.eclipse.wst.wsi.internal.validate.wsdl.WSDLValidator"
- resourcebundle="wsivalidate">
- </extvalidator>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSIPreferences.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSIPreferences.java
deleted file mode 100644
index 84b8d2165..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSIPreferences.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * 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;
-
-/**
- * WS-I test tools property.
- *
- * @author David Lauzon, IBM
- *
- */
-
-public class WSIPreferences
-{
- protected String complianceLevel = "";
- protected String tadfile = "";
-
- /**
- * Constructor.
- */
- public WSIPreferences()
- {
- complianceLevel = WSITestToolsProperties.WARN_NON_WSI;
- tadfile = WSITestToolsProperties.DEFAULT_ASSERTION_FILE;
- }
-
- /**
- * Returns the WS-I compliance level.
- * @return the WS-I compliance level.
- * @see #setComplianceLevel
- */
- public String getComplianceLevel()
- {
- return complianceLevel;
- }
-
- /**
- * Set the WS-I compliance level.
- * @param compliance the WS-I compliance level.
- * @see #getComplianceLevel
- */
- public void setComplianceLevel(String compliance)
- {
- this.complianceLevel = compliance;
- }
-
- /**
- * Returns the location of the Basic Profile Test Assertions file.
- * @return the location of the Basic Profile Test Assertions file.
- * @see #setTADFile
- */
- public String getTADFile()
- {
- return tadfile;
- }
-
- /**
- * Set the location of the Basic Profile Test Assertions file.
- * @param file the location of the Basic Profile Test Assertions file.
- * @see #getTADFile
- */
- public void setTADFile(String file)
- {
- this.tadfile = file;
- }
-}
-
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsEclipseProperties.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsEclipseProperties.java
deleted file mode 100644
index b5e509c25..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsEclipseProperties.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.ws.internal.plugin.WSPlugin;
-import org.eclipse.wst.ws.internal.preferences.PersistentWSIContext;
-
-/**
- * WS-I test tool properties specific for Eclipse.
- */
-public class WSITestToolsEclipseProperties extends WSITestToolsProperties
-{
- /**
- * @see org.eclipse.wst.wsi.internal.WSITestToolsProperties#checkWSIPreferences(java.lang.String)
- */
- public static WSIPreferences checkWSIPreferences(String fileuri)
- {
- WSIPreferences preferences = new WSIPreferences();
-
- // Remove file: and any slashes from the fileuri.
- // Eclipse's resolution mechanism needs to start with the drive.
- String uriStr = trimURI(fileuri);
-
- PersistentWSIContext APcontext = WSPlugin.getInstance().getWSIAPContext();
- PersistentWSIContext SSBPcontext = WSPlugin.getInstance().getWSISSBPContext();
-
- IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(uriStr));
- if (files != null && files.length == 1)
- {
- //check project level conpliance
- IProject project = files[0].getProject();
-
- if (APcontext.projectStopNonWSICompliances(project))
- {
- preferences.setTADFile(AP_ASSERTION_FILE);
- preferences.setComplianceLevel(PersistentWSIContext.STOP_NON_WSI);
- }
- else if (APcontext.projectWarnNonWSICompliances(project))
- {
- preferences.setTADFile(AP_ASSERTION_FILE);
- preferences.setComplianceLevel(PersistentWSIContext.WARN_NON_WSI);
- }
- else if (SSBPcontext.projectStopNonWSICompliances(project))
- {
- preferences.setTADFile(SSBP_ASSERTION_FILE);
- preferences.setComplianceLevel(PersistentWSIContext.STOP_NON_WSI);
- }
- else if (SSBPcontext.projectWarnNonWSICompliances(project))
- {
- preferences.setTADFile(SSBP_ASSERTION_FILE);
- preferences.setComplianceLevel(PersistentWSIContext.WARN_NON_WSI);
- }
- else
- {
- preferences.setTADFile(DEFAULT_ASSERTION_FILE);
- preferences.setComplianceLevel(PersistentWSIContext.IGNORE_NON_WSI);
- }
- }
- else
- {
- // If we can't obtain the project preference use the global preference.
- String APlevel = APcontext.getPersistentWSICompliance();
- String SSBPlevel = SSBPcontext.getPersistentWSICompliance();
- if(APlevel.equals(PersistentWSIContext.STOP_NON_WSI))
- {
- preferences.setTADFile(AP_ASSERTION_FILE);
- preferences.setComplianceLevel(PersistentWSIContext.STOP_NON_WSI);
- }
- else if(APlevel.equals(PersistentWSIContext.WARN_NON_WSI))
- {
- preferences.setTADFile(AP_ASSERTION_FILE);
- preferences.setComplianceLevel(PersistentWSIContext.WARN_NON_WSI);
- }
- if(SSBPlevel.equals(PersistentWSIContext.STOP_NON_WSI))
- {
- preferences.setTADFile(SSBP_ASSERTION_FILE);
- preferences.setComplianceLevel(PersistentWSIContext.STOP_NON_WSI);
- }
- else if(SSBPlevel.equals(PersistentWSIContext.WARN_NON_WSI))
- {
- preferences.setTADFile(SSBP_ASSERTION_FILE);
- preferences.setComplianceLevel(PersistentWSIContext.WARN_NON_WSI);
- }
- else
- {
- preferences.setTADFile(DEFAULT_ASSERTION_FILE);
- preferences.setComplianceLevel(PersistentWSIContext.IGNORE_NON_WSI);
- }
- }
- return preferences;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsPlugin.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsPlugin.java
deleted file mode 100644
index 205df1748..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsPlugin.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import org.eclipse.core.runtime.Plugin;
-
-/**
- * The WS-I test tools plugin.
- *
- * @author lauzond
- */
-
-public class WSITestToolsPlugin extends Plugin
-{
- private static Plugin instance;
- protected final String PLUGIN_PROPERTIES = "wsivalidate";
- //protected ResourceBundle resourcebundle = null;
-
- /**
- * Constructor for wsiTestToolsPlugin.
- * @param descriptor an IPluginDescriptor object.
- */
- public WSITestToolsPlugin()
- {
- super();
- instance = this;
-
- // set the current directory
- WSITestToolsProperties.setEclipseContext(true);
- //resourcebundle = ResourceBundle.getBundle(PLUGIN_PROPERTIES);
- }
-
- /**
- * Method getInstance.
- * @return AbstractUIPlugin
- */
- public static Plugin getInstance()
- {
- return instance;
- }
-
- /**
- * Method getPlugin.
- * @return WSIToolsUtilPlugin
- */
- public static WSITestToolsPlugin getPlugin()
- {
- return (WSITestToolsPlugin) instance;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsProperties.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsProperties.java
deleted file mode 100644
index f18cf0427..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsProperties.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * 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;
-
-/**
- * WS-I test tools property.
- */
-public class WSITestToolsProperties
-{
- protected static String installURL = "";
- protected static String tadfile = "";
-
- public final static String schemaDir = "common/schemas/";
- public final static String SSBP_ASSERTION_FILE = "http://www.ws-i.org/Testing/Tools/2005/01/SSBP10_BP11_TAD_1-0.xml";
- public final static String AP_ASSERTION_FILE = "http://www.ws-i.org/Testing/Tools/2004/12/AP10_BP11_SSBP10_TAD.xml";
- public final static String DEFAULT_ASSERTION_FILE = AP_ASSERTION_FILE;
-
- public static final String STOP_NON_WSI = "0";
- public static final String WARN_NON_WSI = "1";
- public static final String IGNORE_NON_WSI = "2";
-
- protected static boolean eclipseContext = false;
-
- /**
- * Constructor.
- */
- protected WSITestToolsProperties()
- {
- super();
- }
-
- public static void setEclipseContext(boolean eclipseActive)
- {
- eclipseContext = eclipseActive;
- }
-
- public static boolean getEclipseContext()
- {
- return eclipseContext;
- }
-
- /**
- * Checks the WS-I preferences for the given file and return them in a
- * WSIPreferences object.
- *
- * @param fileuri The file URI to check the WS-I preferences for.
- * @return A WSIPreferences object containing the preference for this file URI.
- */
- public static WSIPreferences checkWSIPreferences(String fileuri)
- {
- return new WSIPreferences();
- }
-
- /**
- * Remove file: and any slashes from the fileuri.
- * Eclipse's resolution mechanism needs to start with the drive.
- */
- protected static String trimURI(String fileuri)
- {
- String uriStr = fileuri;
-
- if(fileuri.startsWith("file:"))
- {
- uriStr = fileuri.substring(5);
- }
- while(uriStr.startsWith("/") || uriStr.startsWith("\\"))
- {
- uriStr = uriStr.substring(1);
- }
- return uriStr;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/MessageAnalyzer.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/MessageAnalyzer.java
deleted file mode 100644
index 4c15681fa..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/MessageAnalyzer.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*******************************************************************************
- * 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.analyzer;
-
-import java.io.UnsupportedEncodingException;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import org.eclipse.wst.common.uriresolver.internal.util.URIEncoder;
-import org.eclipse.wst.wsi.internal.WSIPreferences;
-import org.eclipse.wst.wsi.internal.WSITestToolsEclipseProperties;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultType;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultsOption;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.AssertionResultsOptionImpl;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.WSDLElementImpl;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.WSDLReferenceImpl;
-import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet;
-import org.eclipse.wst.wsi.internal.core.common.impl.AddStyleSheetImpl;
-import org.eclipse.wst.wsi.internal.core.document.DocumentFactory;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.report.impl.FailureDetailImpl;
-import org.eclipse.wst.wsi.internal.core.report.impl.ReportImpl;
-import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
-import org.eclipse.wst.wsi.internal.report.AssertionError;
-
-/**
- * MessageAnalyzer
- *
- * A class that allows simple access to the WS-I Test Tools in order to analyze
- * messages in a log file.
- */
-
-public class MessageAnalyzer
-{
- public final static String PLUGIN_ID = "org.wsi.test.tools";
-
- public final static String TYPE_PORT = "port";
- public final static String TYPE_BINDING = "binding";
- public final static String TYPE_PORTTYPE = "porttype";
- public final static String TYPE_OPERATION = "operation";
- public final static String TYPE_MESSAGE = "message";
-
- // Test result Strings
- protected final String NOTPASSED = "notPassed";
- protected final String WARNING = "warning";
- protected final String FAILED = "failed";
-
- protected String filename;
- protected String wsdlfile = null;
- protected String elementname = null;
- protected String namespace = null;
- protected String parentname = null;
- protected boolean wsdlspecified = false;
- protected String type = null;
- protected List assertionwarnings;
- protected List assertionerrors;
- protected WSIPreferences wsiPreferences = null;
-
- /**
- * Constructor for MessageAnalyzer.
- * @param filename log file name.
- */
- public MessageAnalyzer(String filename)
- {
- this.filename = filename.replace('\\', '/');
-
- assertionwarnings = new Vector();
- assertionerrors = new Vector();
- this.wsiPreferences = WSITestToolsEclipseProperties.checkWSIPreferences(filename);
- }
-
- /**
- * Constructor for MessageAnalyzer.
- * @param filename log file name.
- */
- public MessageAnalyzer(String filename, WSIPreferences wsiPreferences)
- {
- this.filename = filename.replace('\\', '/');
-
- assertionwarnings = new Vector();
- assertionerrors = new Vector();
- this.wsiPreferences = wsiPreferences;
- }
-
- public MessageAnalyzer(String filename, String wsdlfile, String elementname, String namespace, String parentname, String type)
- {
- this(filename.replace('\\', '/'));
- wsdlspecified = true;
-
- this.wsdlfile = wsdlfile.replace('\\', '/');
- this.elementname = elementname;
- this.namespace = namespace;
- this.parentname = parentname;
- this.type = type;
- }
-
- public MessageAnalyzer(String filename, String wsdlfile, String elementname, String namespace, String parentname, String type, WSIPreferences wsiPreferences)
- {
- this(filename, wsiPreferences);
- wsdlspecified = true;
-
- this.wsdlfile = wsdlfile.replace('\\', '/');
- this.elementname = elementname;
- this.namespace = namespace;
- this.parentname = parentname;
- this.type = type;
- }
-
- /**
- * Method validateConformance.
- *
- * Checks the conformance of the given logfile against the WS-I Basic Profile.
- * If there are conformance problems they can be obtained from getAssertionErrors.
- *
- * @throws WSIAnalyzerException
- */
- public void validateConformance() throws WSIAnalyzerException
- {
- try
- {
- if (wsiPreferences.getComplianceLevel() != WSITestToolsEclipseProperties.IGNORE_NON_WSI)
- {
- DocumentFactory documentFactory = DocumentFactory.newInstance();
- // Initialize the BasicProfileAnalyzer using an analyzerconfig object
- AnalyzerConfig analyzerconfig = documentFactory.newAnalyzerConfig();
- if(wsdlspecified)
- {
- WSDLReference wsdlref = new WSDLReferenceImpl();
- wsdlref.setWSDLLocation(wsdlfile);
-
- WSDLElement wsdlelem = new WSDLElementImpl();
- wsdlelem.setName(elementname);
- wsdlelem.setNamespace(namespace);
- wsdlelem.setParentElementName(parentname);
- wsdlelem.setType(type);
-
- wsdlref.setWSDLElement(wsdlelem);
-
- analyzerconfig.setWSDLReference(wsdlref);
- }
-
- AssertionResultsOption aro = new AssertionResultsOptionImpl();
- aro.setAssertionResultType(AssertionResultType.newInstance(NOTPASSED));
- aro.setShowAssertionDescription(false);
- aro.setShowFailureDetail(false);
- aro.setShowFailureMessage(false);
- aro.setShowMessageEntry(false);
-
- // although we don't use a stylesheet for our application it is required or the
- // WS-I tools will fail
- AddStyleSheet addstylesheet = new AddStyleSheetImpl();
-
- analyzerconfig.setAssertionResultsOption(aro);
- analyzerconfig.setAddStyleSheet(addstylesheet);
-
- analyzerconfig.setCorrelationType("endpoint");
- try
- {
- analyzerconfig.setLogLocation(URIEncoder.encode(filename, "UTF8"));
- analyzerconfig.setTestAssertionsDocumentLocation(
- URIEncoder.encode(wsiPreferences.getTADFile(), "UTF8"));
- }
- catch (UnsupportedEncodingException uee)
- {
- analyzerconfig.setLogLocation(URIEncoder.encode(filename, "UTF8"));
- analyzerconfig.setTestAssertionsDocumentLocation(URIEncoder.encode(wsiPreferences.getTADFile(), "UTF8"));
- }
- //analyzerconfig.setLogLocation(filename);
- //analyzerconfig.setTestAssertionsDocumentLocation(getBasicProfileTestAssertionsFile());
- analyzerconfig.setVerboseOption(false);
-
-
- List analyzerConfigs = new Vector();
- analyzerConfigs.add(analyzerconfig);
- // here's where the validation actually starts happening
- WSIBasicProfileAnalyzer bpanalyzer = new WSIBasicProfileAnalyzer(analyzerConfigs);
-
- bpanalyzer.validateAll();
- ReportImpl report = (ReportImpl) bpanalyzer.getReport();
-
- List entries = report.getEntries();
-
- // if there are report entries we iterate through them and add all
- // error and warning messages to the error list.
- if (entries != null)
- {
- Iterator ientry = entries.iterator();
- while (ientry.hasNext())
- {
- Entry entry = (Entry) ientry.next();
- Map assertionResults = entry.getAssertionResultList();
-
- if (assertionResults != null)
- {
- Iterator iassertionResults = assertionResults.values().iterator();
-
- while (iassertionResults.hasNext())
- {
- AssertionResult ar = (AssertionResult) iassertionResults.next();
-
- if (ar.getResult().equalsIgnoreCase(FAILED) &&
- wsiPreferences.getComplianceLevel().equals(WSITestToolsEclipseProperties.STOP_NON_WSI))
- {
- TestAssertion ta = ar.getAssertion();
- if (ta.isEnabled())
- {
- Iterator errorMessages = ar.getFailureDetailList().iterator();
- while (errorMessages.hasNext())
- {
- FailureDetailImpl fdi = (FailureDetailImpl)errorMessages.next();
- int lineNumber = 0;
- int columnNumber = 0;
-
- ElementLocation el = fdi.getElementLocation();
-
- if (el != null)
- {
- lineNumber = el.getLineNumber();
- columnNumber = el.getColumnNumber();
- }
-
- //TODO: get assertion locations in the log file
- assertionerrors.add(
- new AssertionError(
- ta.getId(),
- "Message ID " + entry.getReferenceID() + ":" + ta.getFailureMessage(),
- lineNumber,
- columnNumber));
- }
- }
- }
- else if (ar.getResult().equalsIgnoreCase(FAILED) &&
- wsiPreferences.getComplianceLevel().equals(WSITestToolsEclipseProperties.WARN_NON_WSI))
- {
- TestAssertion ta = ar.getAssertion();
- if (ta.isEnabled())
- {
- Iterator errorMessages = ar.getFailureDetailList().iterator();
- while (errorMessages.hasNext())
- {
- FailureDetailImpl fdi = (FailureDetailImpl)errorMessages.next();
- int lineNumber = 0;
- int columnNumber = 0;
-
- ElementLocation el = fdi.getElementLocation();
-
- if (el != null)
- {
- lineNumber = el.getLineNumber();
- columnNumber = el.getColumnNumber();
- }
- //TODO: get assertion locations in the log file
- assertionwarnings.add(
- new AssertionError(
- ta.getId(),
- "Message ID " + entry.getReferenceID() + ":" + ta.getFailureMessage(),
- lineNumber,
- columnNumber));
- }
- }
- }
- }
- }
- }
- }
- }
- }
- catch (WSIException e)
- {
- throw new WSIAnalyzerException("The MessageAnalyzer was unable to validate the given logfile.", e.getTargetException());
- }
- catch (Exception e)
- {
- throw new WSIAnalyzerException("The MessageAnalyzer was unable to validate the given logfile.");
- }
-
- }
-
- /**
- * Method getAssertionWarnings.
- * Returns a list of any assertion warnings generated from validateConformance.
- * @return List
- */
- public List getAssertionWarnings()
- {
- return assertionwarnings;
- }
-
- /**
- * Method getAssertionFailures.
- * Returns a list of any assertion errors generated from validateConformance.
- * @return List
- */
- public List getAssertionErrors()
- {
- return assertionerrors;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSDLAnalyzer.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSDLAnalyzer.java
deleted file mode 100644
index aab7d5525..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSDLAnalyzer.java
+++ /dev/null
@@ -1,393 +0,0 @@
-/*******************************************************************************
- * 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.analyzer;
-
-import java.io.UnsupportedEncodingException;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import org.eclipse.wst.common.uriresolver.internal.util.URIEncoder;
-import org.eclipse.wst.wsi.internal.WSIPreferences;
-import org.eclipse.wst.wsi.internal.WSITestToolsEclipseProperties;
-import org.eclipse.wst.wsi.internal.WSITestToolsProperties;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultType;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultsOption;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.AssertionResultsOptionImpl;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.WSDLElementImpl;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.WSDLReferenceImpl;
-import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet;
-import org.eclipse.wst.wsi.internal.core.common.impl.AddStyleSheetImpl;
-import org.eclipse.wst.wsi.internal.core.document.DocumentFactory;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.report.impl.FailureDetailImpl;
-import org.eclipse.wst.wsi.internal.core.report.impl.ReportImpl;
-import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
-import org.eclipse.wst.wsi.internal.report.AssertionError;
-
-/**
- * WSDLAnalyzer
- * The interface to the WS-I Test Tools for analyzing a WSDL file. Allows a WSDL file to be analyzed
- * at any of the following levels.
- * port
- * binding
- * portType
- * operation
- * message
- */
-
-public class WSDLAnalyzer
-{
- public final static String PLUGIN_ID = "org.wsi.test.tools";
-
- public static final String PORT = "port";
- public static final String BINDING = "binding";
- public static final String PORTTYPE = "portType";
- public static final String OPERATION = "operation";
- public static final String MESSAGE = "message";
-
- protected final String NOTPASSED = "notPassed";
- protected final String WARNING = "warning";
- protected final String FAILED = "failed";
-
- protected List analyzerConfigs;
- protected String wsdlURI;
- // assertions to ignore - used for assertions that the tools have not implemented properly yet
- //protected String[] ignoreAssertions = { /*"WSI2105" , "WSI2119"*/};
- protected List assertionerrors;
- protected List assertionwarnings;
- protected WSIPreferences wsiPreferences = null;
-
- /**
- * Constructor.
- * Given the file name, parent element name, the element to analyze and the type of element
- * sets up the WSDLAnalyzer to analyze the file.
- * @param fileName log file name.
- * @param parentName parent element name.
- * @param namespace a namespace.
- * @param elementName the element to analyze.
- * @param elementType the type of the element.
- * @param wsiPreferences the preferences.
- * @throws WSIAnalyzerException if unable to add configuration information.
- */
- public WSDLAnalyzer(String fileName, String parentName, String namespace, String elementName, String elementType, WSIPreferences wsiPreferences) throws WSIAnalyzerException
- {
- this(fileName, wsiPreferences);
- addConfigurationToTest(parentName, namespace, elementName, elementType);
-
- }
-
- /**
- * Constructor.
- * Given the file name, parent element name, the element to analyze and the type of element
- * sets up the WSDLAnalyzer to analyze the file.
- * @param fileName log file name.
- * @param parentName parent element name.
- * @param namespace a namespace.
- * @param elementName the element to analyze.
- * @param elementType the type of the element.
- * @throws WSIAnalyzerException if unable to add configuration information.
- */
- public WSDLAnalyzer(String fileName, String parentName, String namespace, String elementName, String elementType) throws WSIAnalyzerException
- {
- this(fileName);
- addConfigurationToTest(parentName, namespace, elementName, elementType);
-
- }
-
- /**
- * Constructor.
- * @param fileName log file name.
- */
- public WSDLAnalyzer(String fileName, WSIPreferences wsiPreferences)
- {
- reset(fileName);
- this.wsiPreferences = wsiPreferences;
- }
-
- /**
- * Constructor.
- * @param fileName log file name.
- */
- public WSDLAnalyzer(String fileName)
- {
- reset(fileName);
- if(WSITestToolsProperties.getEclipseContext())
- {
- this.wsiPreferences = WSITestToolsEclipseProperties.checkWSIPreferences(fileName);
- }
- else
- {
- this.wsiPreferences = WSITestToolsProperties.checkWSIPreferences(fileName);
- }
- }
-
- public WSIPreferences getWSIPreferences()
- {
- return this.wsiPreferences;
- }
-
- /**
- * validateConformance.
- * Validate the WSDL file as setup in the constructor.
- * @throws WSIAnalyzerException if unable to validate the given WSDL File.
- */
- public void validateConformance() throws WSIAnalyzerException
- {
- try
- {
- if (wsiPreferences.getComplianceLevel() != WSITestToolsProperties.IGNORE_NON_WSI)
- {
- // here's where the validation actually starts happening
- WSIBasicProfileAnalyzer bpanalyzer = new WSIBasicProfileAnalyzer(analyzerConfigs,wsdlURI);
- bpanalyzer.validateAll();
- ReportImpl report = (ReportImpl) bpanalyzer.getReport();
-
- List entries = report.getEntries();
-
- // if there are report entries we iterate through them and add all
- // error and warning messages to the error list.
- if (entries != null)
- {
- Iterator ientry = entries.iterator();
- while (ientry.hasNext())
- {
- Entry entry = (Entry) ientry.next();
- Map assertionResults = entry.getAssertionResultList();
-
- if (assertionResults != null)
- {
- Iterator iassertionResults = assertionResults.values().iterator();
-
- while (iassertionResults.hasNext())
- {
- AssertionResult ar = (AssertionResult) iassertionResults.next();
- TestAssertion ta = ar.getAssertion();
- // add in to skip errors for assertions that are reporting incorrect problems.
- // This allows us to not report incorrect errors reported in the tools without disabling them
- // String assertionId = ta.getId();
- // boolean ignoreAssertion = false;
- // for(int i = ignoreAssertions.length-1; i >=0;i--)
- // {
- // if(ignoreAssertions[i].equalsIgnoreCase(assertionId))
- // {
- // ignoreAssertion = true;
- // }
- // }
- // if(ignoreAssertion)
- // {
- // continue;
- // }
- if (ar.getResult().equalsIgnoreCase(FAILED) &&
- wsiPreferences.getComplianceLevel().equals(WSITestToolsProperties.STOP_NON_WSI))
- {
- if (ta.isEnabled())
- {
- List errorMessageList = ar.getFailureDetailList();
- if (errorMessageList != null)
- {
- Iterator errorMessages = errorMessageList.iterator();
-
- while (errorMessages.hasNext())
- {
- FailureDetailImpl fdi = (FailureDetailImpl) errorMessages.next();
- int lineNumber = 0;
- int columnNumber = 0;
-
- ElementLocation el = fdi.getElementLocation();
-
- if (el != null)
- {
- lineNumber = el.getLineNumber();
- columnNumber = el.getColumnNumber();
- }
-
- assertionerrors.add(
- new AssertionError(ta.getId(), ta.getFailureMessage(), lineNumber, columnNumber));
- }
- }
- // the errorMessageList is null but there is an error so assign it to line 0 for now
- else
- {
- assertionerrors.add(new AssertionError(ta.getId(), ta.getFailureMessage(), 0, 0));
- }
- }
- }
- else if (ar.getResult().equalsIgnoreCase(FAILED) &&
- wsiPreferences.getComplianceLevel().equals(WSITestToolsProperties.WARN_NON_WSI))
- {
- if (ta.isEnabled())
- {
- List errorMessageList = ar.getFailureDetailList();
- if (errorMessageList != null)
- {
- Iterator errorMessages = errorMessageList.iterator();
- while (errorMessages.hasNext())
- {
- FailureDetailImpl fdi = (FailureDetailImpl) errorMessages.next();
- int lineNumber = 0;
- int columnNumber = 0;
-
- ElementLocation el = fdi.getElementLocation();
-
- if (el != null)
- {
- lineNumber = el.getLineNumber();
- columnNumber = el.getColumnNumber();
- }
- assertionwarnings.add(
- new AssertionError(ta.getId(), ta.getFailureMessage(), lineNumber, columnNumber));
- }
- }
- // the errorMessageList is null but there is an error so assign it to line 0 for now
- else
- {
- assertionwarnings.add(new AssertionError(ta.getId(), ta.getFailureMessage(), 0, 0));
- }
- }
- }
- }
- }
- }
- }
- }
- }
-
- catch (Exception e)
- {
- throw new WSIAnalyzerException(e + "The WSDLAnalyzer was unable to validate the given WSDL File.");
- }
-
- }
-
- /**
- * Add configuration information.
- * @param parentName parent element name.
- * @param namespace a namespace.
- * @param elementName the element to analyze.
- * @param elementType the type of the element.
- * @throws WSIAnalyzerException if unable to add configuration information.
- */
- public void addConfigurationToTest(
- String parentName,
- String namespace,
- String elementName,
- String elementType) throws WSIAnalyzerException
- {
- try
- {
- WSDLReference wsdlReference = new WSDLReferenceImpl();
-
- WSDLElement wsdlElement = (WSDLElement) new WSDLElementImpl();
- wsdlElement.setType(elementType);
- if (parentName != null)
- {
- wsdlElement.setParentElementName(parentName);
- }
- wsdlElement.setNamespace(namespace);
- wsdlElement.setName(elementName);
- wsdlReference.setWSDLElement(wsdlElement);
-
- wsdlReference.setWSDLLocation(wsdlURI);
- DocumentFactory documentFactory = DocumentFactory.newInstance();
- // Initialize the BasicProfileAnalyzer using an analyzerconfig object
- AnalyzerConfig analyzerconfig = documentFactory.newAnalyzerConfig();
-
- AssertionResultsOption aro = new AssertionResultsOptionImpl();
- aro.setAssertionResultType(AssertionResultType.newInstance(NOTPASSED));
- aro.setShowAssertionDescription(false);
- aro.setShowFailureDetail(false);
- aro.setShowFailureMessage(false);
- aro.setShowMessageEntry(false);
-
- // although we don't use a stylesheet for our application it is required or the
- // WS-I tools will fail
- AddStyleSheet addstylesheet = new AddStyleSheetImpl();
-
- analyzerconfig.setAssertionResultsOption(aro);
- analyzerconfig.setAddStyleSheet(addstylesheet);
- analyzerconfig.setReplaceReport(true);
- //analyzerconfig.setLogLocation(filename);
- try
- {
- analyzerconfig.setTestAssertionsDocumentLocation(
- URIEncoder.encode(wsiPreferences.getTADFile(), "UTF8"));
- }
- catch (UnsupportedEncodingException uee)
- {
- analyzerconfig.setTestAssertionsDocumentLocation(URIEncoder.encode(wsiPreferences.getTADFile(), "UTF8"));
-
- }
- analyzerconfig.setVerboseOption(false);
-
- // set the wsdlReference
- analyzerconfig.setWSDLReference(wsdlReference);
- analyzerConfigs.add(analyzerconfig);
- }
- catch (Exception e)
- {
- throw new WSIAnalyzerException("Unable to add AnalyzerConfig to list. " + e);
- }
- }
- /**
- * Method getAssertionFailures.
- * Return a list of the assertion failures.
- * @return a list of the assertion failures.
- */
- public List getAssertionErrors()
- {
- return assertionerrors;
- }
-
- /**
- * Method getAssertionWarnings.
- * Returns a list of any assertion warnings generated from validateConformance.
- * @return a list of any assertion warnings generated from validateConformance.
- */
- public List getAssertionWarnings()
- {
- return assertionwarnings;
- }
-
- /**
- * Reset.
- * @param filename log file name.
- */
- public void reset(String filename)
- {
- if (filename != null)
- {
- String tmp = filename.replace('\\', '/');
- if ((!tmp.startsWith(WSIConstants.HTTP_PREFIX)) &&
- (!tmp.startsWith(WSIConstants.FILE_PREFIX)))
- {
- tmp = WSIConstants.FILE_PROTOCOL + tmp;
- }
- try
- {
- wsdlURI = URIEncoder.encode(tmp, "UTF8");
- }
- catch (UnsupportedEncodingException uee)
- {
- }
- }
- analyzerConfigs = new Vector();
- assertionerrors = new Vector();
- assertionwarnings = new Vector();
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSIAnalyzerException.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSIAnalyzerException.java
deleted file mode 100644
index 57778532c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSIAnalyzerException.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * 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.analyzer;
-
-/**
- * AnalyzerException
- *
- * Exception to be thrown if an analyzer fails
- */
-public class WSIAnalyzerException extends Exception
-{
- /**
- * Comment for <code>serialVersionUID</code>
- */
- private static final long serialVersionUID = 3835158350219194677L;
- /**
- * Throwable.
- */
- protected Throwable throwable = null;
-
- /**
- * Constructor for AnalyzerException.
- */
- public WSIAnalyzerException()
- {
- super();
- }
-
- /**
- * Constructor for AnalyzerException.
- * @param s detail message.
- */
- public WSIAnalyzerException(String s)
- {
- super(s);
- }
-
- /**
- * Create an exception with a message and related exception.
- *
- * @param msg the exception message
- * @param throwable throwable that is related to this exception
- */
- public WSIAnalyzerException(String msg, Throwable throwable)
- {
- // Exception
- super(msg);
-
- // Save input reference
- this.throwable = throwable;
- }
-
- /**
- * Returns the String representation of this object's values.
- *
- * @return Returns the detail message of this throwable object.
- */
- public String getMessage()
- {
- return super.getMessage();
- }
-
- /**
- * Returns the exception that caused this exception to be created.
- *
- * @return Returns the encapsulated throwable object.
- */
- public Throwable getTargetException()
- {
- // Return throwable
- return throwable;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSIBasicProfileAnalyzer.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSIBasicProfileAnalyzer.java
deleted file mode 100644
index fb9b92800..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSIBasicProfileAnalyzer.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * 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.analyzer;
-
-import java.util.List;
-
-import org.eclipse.wst.wsi.internal.core.ToolInfo;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.BasicProfileAnalyzer;
-import org.eclipse.wst.wsi.internal.core.profile.validator.ProfileValidatorFactory;
-import org.eclipse.wst.wsi.internal.core.report.Report;
-import org.eclipse.wst.wsi.internal.core.util.MessageList;
-import org.eclipse.wst.wsi.internal.document.DocumentFactoryImpl;
-
-/**
- * WSIBasicProfileAnalyzer
- *
- * An extension of the BasicProfileAnalyzer from the WS-I Test Tools that
- * allows calling code to get the report generated from WS-I validation.
- */
-public class WSIBasicProfileAnalyzer extends BasicProfileAnalyzer
-{
- /**
- * Default document factory class name.
- */
- public static final String DEF_DOCUMENT_FACTORY = "org.eclipse.wsi.test.tools.util.document.DocumentFactoryImpl";
-
- /**
- * Constructor for WSIBasicProfileAnalyzer.
- * @param analyzerConfig configuration information.
- * @param wsdlURI the location of the WSDL document.
- * @throws WSIException @throws WSIException if unable to create a Basic profile analyzer.
- */
- public WSIBasicProfileAnalyzer(List analyzerConfig, String wsdlURI) throws WSIException
- {
- super(analyzerConfig, wsdlURI);
- }
-
- /**
- * Constructor for WSIBasicProfileAnalyzer.
- * @param analyzerConfig configuration information.
- * @throws WSIException @throws WSIException if unable to create a Basic profile analyzer.
- */
- public WSIBasicProfileAnalyzer(List analyzerConfig) throws WSIException
- {
- super(analyzerConfig);
- }
-
- /**
- * Common initialization.
- * @param toolInfo a ToolInfo object.
- * @throws WSIException if problems during initialization.
- */
- protected void init(ToolInfo toolInfo) throws WSIException
- {
- this.toolInfo = toolInfo;
-
- // Create message list
- messageList = new MessageList(RESOURCE_BUNDLE_NAME);
-
- // Create profile validator factory
- factory = ProfileValidatorFactory.newInstance();
-
- // Create document factory
- documentFactory = new DocumentFactoryImpl();
- }
-
- /**
- * Method getReport.
- *
- * Return the Report generated by the validation.
- * @return the Report generated by the validation.
- */
- public Report getReport()
- {
- return reporter.getReport();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/ToolEnvironment.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/ToolEnvironment.java
deleted file mode 100644
index 88bee3f5c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/ToolEnvironment.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.eclipse.wst.wsi.internal.core.util.XMLInfo;
-
-/**
- * This class contains Tool environment information.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class ToolEnvironment
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_ENVIRONMENT;
-
- /**
- * QName.
- */
- //public static final QName QNAME = new QName(WSIConstants.NS_URI_WSI_COMMON, ELEM_NAME);
-
- /**
- * Tool environment information.
- */
- protected String runtimeName = System.getProperty("java.runtime.name");
- protected String runtimeVersion = System.getProperty("java.runtime.version");
-
- protected String osName = System.getProperty("os.name");
- protected String osVersion = System.getProperty("os.version");
-
- protected String xmlParserName = "?";
- protected String xmlParserVersion = "?";
-
- /**
- * Additional tool environment information.
- */
- protected XMLInfo xmlInfo = null;
-
- /**
- * Create object that represents tool runtime environment.
- */
- public ToolEnvironment()
- {
- try
- {
-
- // FUTURE: made compatible with later versions of Xerces where getVersion
- // is no longer statically available.
- // xmlParserVersion = new org.apache.xerces.impl.Version().getVersion();
- xmlParserVersion = org.apache.xerces.impl.Version.getVersion();
-
- xmlParserName = "Apache Xerces";
- }
-
- catch (Exception e)
- {
- // ADD: How else can we get the name version number
- }
-
- catch (Error err)
- {
- // ADD: How else can we get the name version number
- }
- }
-
- /**
- * Create object that represents tool runtime environment.
- * @param xmlInfo additional tool environment information.
- */
- public ToolEnvironment(XMLInfo xmlInfo)
- {
- this.xmlInfo = xmlInfo;
- }
-
- /**
- * Returns the osName.
- * @return the osName.
- * @see #setOSName
- */
- public String getOSName()
- {
- return osName;
- }
-
- /**
- * Returns the osVersion.
- * @return the osVersion.
- * @see #setOSVersion
- */
- public String getOSVersion()
- {
- return osVersion;
- }
-
- /**
- * Returns the parserName.
- * @return the parserName.
- * @see #setXMLParserName
- */
- public String getXMLParserName()
- {
- return xmlParserName;
- }
-
- /**
- * Returns the parserVersion.
- * @return the parserVersion.
- * @see #setXMLParserVersion
- */
- public String getXMLParserVersion()
- {
- return xmlParserVersion;
- }
-
- /**
- * Returns the runtimeName.
- * @return the runtimeName.
- * @see #setRuntimeName
- */
- public String getRuntimeName()
- {
- return runtimeName;
- }
-
- /**
- * Returns the runtimeVersion.
- * @return the runtimeVersion.
- * @see #setRuntimeVersion
- */
- public String getRuntimeVersion()
- {
- return runtimeVersion;
- }
-
- /**
- * Sets the osName.
- * @param osName the osName to set.
- * @see #getOSName
- */
- public void setOSName(String osName)
- {
- this.osName = osName;
- }
-
- /**
- * Sets the osVersion.
- * @param osVersion the osVersion to set.
- * @see #getOSVersion
- */
- public void setOSVersion(String osVersion)
- {
- this.osVersion = osVersion;
- }
-
- /**
- * Sets the parserName.
- * @param xmlParserName the parserName to set.
- * @see #getXMLParserName
- */
- public void setXMLParserName(String xmlParserName)
- {
- this.xmlParserName = xmlParserName;
- }
-
- /**
- * Sets the parserVersion.
- * @param xmlParserVersion the parserVersion to set.
- * @see #getXMLParserVersion
- */
- public void setXMLParserVersion(String xmlParserVersion)
- {
- this.xmlParserVersion = xmlParserVersion;
- }
-
- /**
- * Sets the runtimeName.
- * @param runtimeName the runtimeName to set.
- * @see #getRuntimeName
- */
- public void setRuntimeName(String runtimeName)
- {
- this.runtimeName = runtimeName;
- }
-
- /**
- * Sets the runtimeVersion.
- * @param runtimeVersion the runtimeVersion to set.
- * @see #getRuntimeVersion
- */
- public void setRuntimeVersion(String runtimeVersion)
- {
- this.runtimeVersion = runtimeVersion;
- }
-
- /**
- * Sets the additional environment information.
- * @param xmlInfo additional tool environment information.
- */
- public void setAdditionalToolEnvironment(XMLInfo xmlInfo)
- {
- this.xmlInfo = xmlInfo;
- }
-
- /**
- * Return XML string representation of this object.
- * @param namespaceName the namespace prefix.
- * @return the XML string representation of this object.
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if (!nsName.equals(""))
- nsName += ":";
-
- // Start element
- pw.println(" <" + nsName + ELEM_NAME + ">");
-
- pw.print(" <" + nsName + WSIConstants.ELEM_RUNTIME + " ");
- pw.print(WSIConstants.ATTR_NAME + "=\"" + runtimeName + "\" ");
- pw.println(WSIConstants.ATTR_VERSION + "=\"" + runtimeVersion + "\"/>");
- pw.print(" <" + nsName + WSIConstants.ELEM_OPERATING_SYSTEM + " ");
- pw.print(WSIConstants.ATTR_NAME + "=\"" + osName + "\" ");
- pw.println(WSIConstants.ATTR_VERSION + "=\"" + osVersion + "\"/>");
- pw.print(" <" + nsName + WSIConstants.ELEM_XML_PARSER + " ");
- pw.print(WSIConstants.ATTR_NAME + "=\"" + xmlParserName + "\" ");
- pw.println(WSIConstants.ATTR_VERSION + "=\"" + xmlParserVersion + "\"/>");
-
- // If addtional info, then get it
- if (xmlInfo != null)
- pw.print(xmlInfo.toXMLString(nsName));
-
- // End element
- pw.println(" </" + nsName + ELEM_NAME + ">");
-
- return sw.toString();
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/ToolInfo.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/ToolInfo.java
deleted file mode 100644
index eb97ef484..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/ToolInfo.java
+++ /dev/null
@@ -1,447 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import java.io.FileWriter;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.eclipse.wst.wsi.internal.core.util.XMLInfo;
-
-/**
- * Information that describes a conformance tool.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class ToolInfo
-{
- /**
- * Tool information property names.
- */
- public static final String PROP_TOOL_VERSION = "wsi.tool.version";
- public static final String PROP_TOOL_RELEASE_DATE = "wsi.tool.release.date";
- public static final String PROP_TOOL_IMPLEMENTER = "wsi.tool.implementer";
- public static final String PROP_TOOL_LOCATION = "wsi.tool.location";
-
- /**
- * Default tool information property values.
- */
- private static final String DEF_TOOL_VERSION = "1.0.1";
- private static final String DEF_TOOL_RELEASE_DATE = "2004-01-22";
- private static final String DEF_TOOL_IMPLEMENTER = "Eclipse.org Organization";
- private static final String DEF_TOOL_LOCATION = "http://www.eclipse.org/wsvt";
-
- /**
- * Tool information.
- */
- protected String name;
- protected String version;
- protected String releaseDate;
- protected String implementer;
- protected String location;
-
- /**
- * Tool environment.
- */
- protected ToolEnvironment toolEnvironment = null;
-
- /**
- * Tool info properties filename.
- */
- public static final String PROP_FILENAME = "org.wsi.test.toolinfo";
-
- /**
- * Create tool information.
- */
- public ToolInfo()
- {
- this.toolEnvironment = new ToolEnvironment();
- }
-
- /**
- * Create tool information from information in the toolinfo.properties file.
- * @param name the tool name.
- */
- public ToolInfo(String name)
- {
- this.name = name;
-
- getProperties();
-
- this.toolEnvironment = new ToolEnvironment();
- }
-
- /**
- * Create tool information.
- * @param name the tool name.
- * @param version the version of the tool.
- * @param releaseDate the release date of the tool.
- * @param implementer the implementer of the tool.
- * @param location the implementer location.
- */
- public ToolInfo(
- String name,
- String version,
- String releaseDate,
- String implementer,
- String location)
- {
- this.name = name;
- this.version = version;
- this.releaseDate = releaseDate;
- this.implementer = implementer;
- this.location = location;
-
- this.toolEnvironment = new ToolEnvironment();
- }
-
- /**
- * Create tool information with tool unique environment information.
- * @param name the tool name.
- * @param version the version of the tool.
- * @param releaseDate the release date of the tool.
- * @param implementer the implementer of the tool.
- * @param location the implementer location.
- * @param xmlInfo additional tool environment information.
- */
- public ToolInfo(
- String name,
- String version,
- String releaseDate,
- String implementer,
- String location,
- XMLInfo xmlInfo)
- {
- this.name = name;
- this.version = version;
- this.releaseDate = releaseDate;
- this.implementer = implementer;
- this.location = location;
-
- this.toolEnvironment = new ToolEnvironment(xmlInfo);
- }
-
- /**
- * Get name.
- * @return name.
- * @see #setName
- */
- public String getName()
- {
- return name;
- }
-
- /**
- * Get version.
- * @return version.
- * @see #setVersion
- */
- public String getVersion()
- {
- return version;
- }
-
- /**
- * Get release date.
- * @return release date.
- * @see #setReleaseDate
- */
- public String getReleaseDate()
- {
- return releaseDate;
- }
-
- /**
- * Get implementer.
- * @return implementer.
- * @see #setImplementer
- */
- public String getImplementer()
- {
- return implementer;
- }
-
- /**
- * Get implementer location.
- * @return implementer location.
- * @see #setLocation
- */
- public String getLocation()
- {
- return location;
- }
-
- /**
- * Returns the toolEnvironment.
- * @return ToolEnvironment
- * @see #setToolEnvironment
- */
- public ToolEnvironment getToolEnvironment()
- {
- return toolEnvironment;
- }
-
- /**
- * Sets the implementer.
- * @param implementer the implementer to set.
- * @see #getImplementer
- */
- public void setImplementer(String implementer)
- {
- this.implementer = implementer;
- }
-
- /**
- * Sets the location.
- * @param location the location to set.
- * @see #getLocation
- */
- public void setLocation(String location)
- {
- this.location = location;
- }
-
- /**
- * Sets the name.
- * @param name the name to set.
- * @see #getName
- */
- public void setName(String name)
- {
- this.name = name;
- }
-
- /**
- * Sets the releaseDate.
- * @param releaseDate the releaseDate to set.
- * @see #getReleaseDate
- */
- public void setReleaseDate(String releaseDate)
- {
- this.releaseDate = releaseDate;
- }
-
- /**
- * Sets the toolEnvironment.
- * @param toolEnvironment the toolEnvironment to set.
- * @see #getToolEnvironment
- */
- public void setToolEnvironment(ToolEnvironment toolEnvironment)
- {
- this.toolEnvironment = toolEnvironment;
- }
-
- /**
- * Sets the toolEnvironment.
- * @param xmlInfo additional tool environment information.
- */
- public void setAdditionalToolEnvironment(XMLInfo xmlInfo)
- {
- this.toolEnvironment.setAdditionalToolEnvironment(xmlInfo);
- }
-
- /**
- * Sets the version.
- * @param version the version to set.
- * @see #getVersion
- */
- public void setVersion(String version)
- {
- this.version = version;
- }
-
- /**
- * Return start XML string representation of this object.
- * @param namespaceName the namespace prefix.
- * @return the start XML string representation of this object.
- */
- public String getStartXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if (!nsName.equals(""))
- nsName += ":";
-
- pw.print(" <" + nsName + getName().toLowerCase() + " ");
- pw.print(WSIConstants.ATTR_VERSION + "=\"" + getVersion() + "\" ");
- pw.println(
- WSIConstants.ATTR_RELEASE_DATE + "=\"" + getReleaseDate() + "\">");
-
- pw.print(" <" + nsName + WSIConstants.ELEM_IMPLEMENTER + " ");
- pw.print(WSIConstants.ATTR_NAME + "=\"" + getImplementer() + "\" ");
- pw.println(WSIConstants.ATTR_LOCATION + "=\"" + getLocation() + "\"/>");
-
- // Environment
- pw.print(toolEnvironment.toXMLString(namespaceName));
-
- return sw.toString();
- }
-
- /**
- * Return the end XML string representation of this object.
- * @param namespaceName the namespace prefix.
- * @return the end XML string representation of this object.
- */
- public String getEndXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if (!nsName.equals(""))
- nsName += ":";
-
- pw.println(" </" + nsName + getName().toLowerCase() + ">");
-
- return sw.toString();
- }
-
- /**
- * Get values from the tools.properties file.
- */
- protected void getProperties()
- {
- //Properties props = new Properties();
- ResourceBundle resourceBundle;
-
- try
- {
- // Try to load properties from wsi.properties
- //InputStream is = Utils.getInputStream(PROP_FILENAME);
-
- // Load properties from file
- //props.load(is);
-
- // Get resource
- resourceBundle = ResourceBundle.getBundle(PROP_FILENAME);
-
- // Get property values
- this.version =
- getProperty(resourceBundle, PROP_TOOL_VERSION, DEF_TOOL_VERSION);
- this.releaseDate =
- getProperty(
- resourceBundle,
- PROP_TOOL_RELEASE_DATE,
- DEF_TOOL_RELEASE_DATE);
- this.implementer =
- getProperty(
- resourceBundle,
- PROP_TOOL_IMPLEMENTER,
- DEF_TOOL_IMPLEMENTER);
- this.location =
- getProperty(resourceBundle, PROP_TOOL_LOCATION, DEF_TOOL_LOCATION);
- }
-
- catch (MissingResourceException mre)
- {
- // DEBUG:
- //System.out.println("Exception loading properties: " + e.toString());
-
- // Set default property values
- this.version = DEF_TOOL_VERSION;
- this.releaseDate = DEF_TOOL_RELEASE_DATE;
- this.implementer = DEF_TOOL_IMPLEMENTER;
- this.location = DEF_TOOL_LOCATION;
- }
- }
-
- /**
- * Get property.
- * @param resourceBundle a resource bundle.
- * @param key a key.
- * @param defaultValue a default value.
- * @return property. If not found return default value.
- */
- protected String getProperty(
- ResourceBundle resourceBundle,
- String key,
- String defaultValue)
- {
- String value;
-
- if ((value = resourceBundle.getString(key)) == null)
- value = defaultValue;
-
- return value;
- }
-
- /**
- * Create the tools.properties file from the command line.
- * The input arguements are:
- * <ol>
- * <li>Filename for the properties file to create
- * <li>Version number
- * <li>
- * </ol>
- * @param args the arguments for main.
- */
- public static void main(String[] args)
- {
- int statusCode = 0;
- String filename = PROP_FILENAME;
- String version = DEF_TOOL_VERSION;
- String implementer = DEF_TOOL_IMPLEMENTER;
- String location = DEF_TOOL_LOCATION;
-
- // Set the file name
- if (args.length >= 1)
- filename = args[0];
-
- if (args.length >= 2)
- version = args[1];
-
- if (args.length >= 3)
- implementer = args[2];
-
- if (args.length >= 4)
- location = args[3];
-
- try
- {
- // Create file writer
- FileWriter fileWriter = new FileWriter(filename);
-
- // Create print writer
- PrintWriter printWriter = new PrintWriter(fileWriter);
-
- // Write out contents of properties file
- printWriter.println(COMMENTS);
- printWriter.println(PROP_TOOL_VERSION + "=" + version);
- printWriter.println(PROP_TOOL_RELEASE_DATE + "=" + Utils.getDate());
- printWriter.println(PROP_TOOL_IMPLEMENTER + "=" + implementer);
- printWriter.println(PROP_TOOL_LOCATION + "=" + location);
-
- // Close file writer
- fileWriter.close();
-
- // Done
- System.out.println("File [" + filename + "] created.");
- }
-
- catch (java.io.IOException ioe)
- {
- statusCode = 1;
- System.out.println("EXCEPTION: " + ioe.toString());
- ioe.printStackTrace();
- }
-
- // Exit
- System.exit(statusCode);
- }
-
- private static final String COMMENTS = "";
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIConstants.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIConstants.java
deleted file mode 100644
index 6db52dbf2..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIConstants.java
+++ /dev/null
@@ -1,488 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2003 IBM Corporation, Parasoft 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
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core;
-
-/**
- * WS-I constants.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @author Jim Clune
- * @author Graham Turrell (gturrell@uk.ibm.com)
- */
-public interface WSIConstants {
- /**
- * Copyright notice.
- */
- public static final String COPYRIGHT = "Copyright (C) 2002-2003 by The Web Services-Interoperability Organization and Certain "
- + "of its Members. All Rights Reserved.\nUse of this Material is governed by WS-I licenses included within the documentation.";
-
- /**
- * XML declaration statement.
- */
- public static final String XML_DECL = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
-
- /**
- * XML namespace URI.
- */
- public static final String NS_URI_XMLNS = "http://www.w3.org/2000/xmlns/";
- public static final String NS_URI_XML = "http://www.w3.org/XML/1998/namespace";
- /**
- * XML schema namespace URI.
- */
- public static final String NS_URI_XSD = "http://www.w3.org/2001/XMLSchema";
-
- /**
- * XML schema location.
- */
- public static final String XSD_SCHEMA_LOCATION = "http://www.w3.org/2001/XMLSchema.xsd";
-
- /**
- * XML schema namespace name.
- */
- public static final String NS_NAME_XSD = "xsd";
-
- /**
- * XML schema instance namespace URI.
- */
- public static final String NS_URI_XSI = "http://www.w3.org/2001/XMLSchema-instance";
-
- /**
- * XML schema namespace name.
- */
- public static final String NS_NAME_XSI = "xsi";
-
-
- /**
- * WS-I message log namespace URI.
- */
- public static final String NS_URI_WSI_LOG = "http://www.ws-i.org/testing/2004/07/log/";
-
- public static final String NS_NAME_WSI_LOG = "wsi-log";
-
- /**
- * WS-I conformance report namespace URI.
- */
- public static final String NS_URI_WSI_REPORT = "http://www.ws-i.org/testing/2004/07/report/";
- public static final String NS_NAME_WSI_REPORT = "wsi-report";
-
- /**
- * WS-I profile test assertions namespace URI.
- */
- public static final String NS_URI_WSI_ASSERTIONS_2003 = "http://www.ws-i.org/testing/2003/03/assertions/";
- public static final String NS_URI_WSI_ASSERTIONS = "http://www.ws-i.org/testing/2004/07/assertions/";
-
- public static final String NS_NAME_WSI_ASSERTIONS = "wsi-assertions";
-
- /**
- * WS-I monitor configuration file namesapce URI.
- */
- public static final String NS_URI_WSI_MONITOR_CONFIG_2003 = "http://www.ws-i.org/testing/2003/03/monitorConfig/";
- public static final String NS_URI_WSI_MONITOR_CONFIG = "http://www.ws-i.org/testing/2004/07/monitorConfig/";
-
-
- public static final String NS_NAME_WSI_MONITOR_CONFIG = "wsi-monConfig";
-
- /**
- * WS-I analyzer configuration file namesapce URI.
- */
- public static final String NS_URI_WSI_ANALYZER_CONFIG_2003 = "http://www.ws-i.org/testing/2003/03/analyzerConfig/";
- public static final String NS_URI_WSI_ANALYZER_CONFIG = "http://www.ws-i.org/testing/2004/07/analyzerConfig/";
-
- public static final String NS_NAME_WSI_ANALYZER_CONFIG = "wsi-analyzerConfig";
-
- /**
- * WS-I common namesapce URI.
- */
- public static final String NS_URI_WSI_COMMON_2003 = "http://www.ws-i.org/testing/2003/03/common/";
- public static final String NS_URI_WSI_COMMON = "http://www.ws-i.org/testing/2004/07/common/";
- public static final String NS_NAME_WSI_COMMON = "wsi-common";
-
- /**
- * SOAP V1.1 namespace.
- */
- public final static String NS_URI_SOAP = "http://schemas.xmlsoap.org/soap/envelope/";
-
- /**
- * SOAP/1.1 encoding.
- */
- public final static String NS_URI_SOAP_ENCODING = "http://schemas.xmlsoap.org/soap/encoding/";
-
- public static final String NS_URI_SOAP_NEXT_ACTOR = "http://schemas.xmlsoap.org/soap/actor/next" ;
- /**
- * HTTP transport.
- */
- public final static String NS_URI_SOAP_HTTP = "http://schemas.xmlsoap.org/soap/http";
-
- /**
- * WSDL V1.1 namespace.
- */
- public final static String NS_URI_WSDL = "http://schemas.xmlsoap.org/wsdl/";
-
- /**
- * WSDL SOAP binding namespace.
- */
- public final static String NS_URI_WSDL_SOAP = "http://schemas.xmlsoap.org/wsdl/soap/";
-
- public final static String NS_NAME_WSDL_SOAP = "soap";
-
- /**
- * WSDL MIME binding namespace.
- */
- public final static String NS_NAME_WSDL_MIME = "http://schemas.xmlsoap.org/wsdl/mime/";
-
- /**
- * WSDL HTTP GET & POST binding namespace.
- */
- public final static String NS_NAME_WSDL_HTTP = "http://schemas.xmlsoap.org/wsdl/http/";
-
- /**
- * WSDL DIME binding namespace.
- */
- public final static String NS_NAME_WSDL_DIME = "http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/";
-
- /**
- * Conformance Claim namespace.
- */
- public final static String NS_URI_CLAIM = "http://ws-i.org/schemas/conformanceClaim/";
-
- /**
- * UDDI V2 namespace.
- */
- public final static String NS_URI_UDDI_V2 = "urn:uddi-org:api_v2";
-
- /**
- * The XML Schema for the type used to refer to attachments from the SOAP
- * envelope.
- */
- public final static String NS_URI_SWA_REF = "http://ws-i.org/profiles/basic/1.1/xsd";
-
- public final static String SCHEMA_TYPE_SWA_REF = "swaRef";
-
- /**
- * Element names.
- */
- public static final String ELEM_ADD_STYLE_SHEET = "addStyleSheet";
-
- public static final String ELEM_ADDITIONAL_ENTRY_TYPE_LIST = "additionalEntryTypeList";
-
- public static final String ELEM_ANALYZER_FAILURE = "analyzerFailure";
-
- public static final String ELEM_ARTIFACT = "artifact";
-
- public static final String ELEM_ARTIFACT_REFERENCE = "artifactReference";
-
- public static final String ELEM_ASSERTION_COVERAGE = "assertionCoverage";
-
- public static final String ELEM_ASSERTION_DESCRIPTION = "assertionDescription";
-
- public static final String ELEM_ASSERTION_RESULT = "assertionResult";
-
- public static final String ELEM_ASSERTION_RESULT_SUMMARY = "assertionResultSummary";
-
- public static final String ELEM_ASSERTION_RESULTS = "assertionResults";
-
- public static final String ELEM_CLEANUP_TIMEOUT_SECONDS = "cleanupTimeoutSeconds";
-
- public static final String ELEM_CONFIG = "configuration";
-
- public static final String ELEM_COMMENT = "comment";
-
- public static final String ELEM_CONTEXT = "context";
-
- public static final String ELEM_DETAIL = "detail";
-
- public static final String ELEM_DETAIL_DESCRIPTION = "detailDescription";
-
- public static final String ELEM_DESCRIPTION = "description";
-
- public static final String ELEM_ENVIRONMENT = "environment";
-
- public static final String ELEM_ENTRY = "entry";
-
- public static final String ELEM_FAILURE_DETAIL = "failureDetail";
-
- public static final String ELEM_FAILURE_DETAIL_DESCRIPTION = "failureDetailDescription";
-
- public static final String ELEM_FAILURE_MESSAGE = "failureMessage";
-
- public static final String ELEM_HTTP_HEADERS = "httpHeaders";
-
- public static final String ELEM_IMPLEMENTER = "implementer";
-
- public static final String ELEM_INQUIRY_URL = "inquiryURL";
-
- public static final String ELEM_LISTEN_PORT = "listenPort";
-
- public static final String ELEM_LOG = "log";
-
- public static final String ELEM_LOG_DURATION = "logDuration";
-
- public static final String ELEM_LOG_FILE = "logFile";
-
- public static final String ELEM_MAN_IN_THE_MIDDLE = "manInTheMiddle";
-
- public static final String ELEM_MAX_CONNECTIONS = "maxConnections";
-
- public static final String ELEM_MESSAGE_CONTENT = "messageContent";
-
- public static final String ELEM_MESSAGE_CONTENT_WITH_ATTACHMENTS = "messageContentWithAttachments";
-
- public static final String ELEM_MESSAGE_ENTRY = "messageEntry";
-
- public static final String ELEM_MESSAGE_INPUT = "messageInput";
-
- public static final String ELEM_MONITOR = "monitor";
-
- public static final String ELEM_OPERATING_SYSTEM = "operatingSystem";
-
- public static final String ELEM_PREREQ_FAILED_LIST = "prereqFailedList";
-
- public static final String ELEM_PREREQ_LIST = "prereqList";
-
- public static final String ELEM_PROFILE = "profile";
-
- public static final String ELEM_PROFILE_ASSERTIONS = "profileAssertions";
-
- public static final String ELEM_READ_TIMEOUT_SECONDS = "readTimeoutSeconds";
-
- public static final String ELEM_RECEIVER_HOST_AND_PORT = "receiverHostAndPort";
-
- public static final String ELEM_REDIRECT = "redirect";
-
- public static final String ELEM_REPORT = "report";
-
- public static final String ELEM_REPORT_FILE = "reportFile";
-
- public static final String ELEM_RUNTIME = "runtime";
-
- public static final String ELEM_SCHEME_AND_HOSTPORT = "schemeAndHostPort";
-
- public static final String ELEM_SENDER_HOST_AND_PORT = "senderHostAndPort";
-
- public static final String ELEM_SERVICE_LOCATION = "serviceLocation";
-
- public static final String ELEM_SUMMARY = "summary";
-
- public static final String ELEM_TEST_ASSERTION = "testAssertion";
-
- public static final String ELEM_TEST_ASSERTIONS_FILE = "testAssertionsFile";
-
- public static final String ELEM_TEST_ASSERTION_ID = "testAssertionID";
-
- public static final String ELEM_TEST_COVERAGE = "testCoverage";
-
- public static final String ELEM_UDDI_ENTRY = "uddiEntry";
-
- public static final String ELEM_UDDI_KEY = "uddiKey";
-
- public static final String ELEM_UDDI_REFERENCE = "uddiReference";
-
- public static final String ELEM_VERBOSE = "verbose";
-
- public static final String ELEM_WSDL_ELEMENT = "wsdlElement";
-
- public static final String ELEM_WSDL_INPUT = "wsdlInput";
-
- public static final String ELEM_WSDL_REFERENCE = "wsdlReference";
-
- public static final String ELEM_WSDL_URI = "wsdlURI";
-
- public static final String ELEM_XML_PARSER = "xmlParser";
-
- public static final String ELEM_MIME_PART = "mimePart";
-
- public static final String ELEM_MIME_HEADERS = "mimeHeaders";
-
- public static final String ELEM_MIME_CONTENT = "mimeContent";
-
- public static final String ELEM_BOUNDARY_STRING = "boundaryString";
-
- /**
- * Attribute names.
- */
- public static final String ATTR_ALTERNATE = "alternate";
-
- public static final String ATTR_ARRAY_TYPE = "arrayType";
-
- public static final String ATTR_ASSERTION_DESCRIPTION = "assertionDescription";
-
- public static final String ATTR_BOM = "BOM";
-
- public static final String ATTR_CHARSET = "charset";
-
- public static final String ATTR_CODE = "code";
-
- public static final String ATTR_COLUMN_NUMBER = "columnNumber";
-
- public static final String ATTR_CONVERSATION_ID = "conversationID";
-
- public static final String ATTR_CORRELATION_TYPE = "correlationType";
-
- public static final String ATTR_DATE = "date";
-
- public static final String ATTR_ENABLED = "enabled";
-
- public static final String ATTR_ENTRY_TYPE = "entryType";
-
- public static final String ATTR_FAILURE_MESSAGE = "failureMessage";
-
- public static final String ATTR_FAILURE_DETAIL = "failureDetail";
-
- public static final String ATTR_HREF = "href";
-
- public static final String ATTR_ID = "id";
-
- public static final String ATTR_ID_UC = "ID";
-
- public static final String ATTR_IMPLEMENTER = "implementer";
-
- public static final String ATTR_LINE_NUMBER = "lineNumber";
-
- public static final String ATTR_LOCATION = "location";
-
- public static final String ATTR_MEDIA = "media";
-
- public static final String ATTR_MESSAGE_ENTRY = "messageEntry";
-
- public static final String ATTR_MESSAGES = "messages";
-
- public static final String ATTR_NAME = "name";
-
- public static final String ATTR_NAMESPACE = "namespace";
-
- public static final String ATTR_PARENT_ELEMENT_NAME = "parentElementName";
-
- public static final String ATTR_REFERENCE_ID = "referenceID";
-
- public static final String ATTR_REFERENCE_TYPE = "referenceType";
-
- public static final String ATTR_RELEASE_DATE = "releaseDate";
-
- public static final String ATTR_REPLACE = "replace";
-
- public static final String ATTR_RESULT = "result";
-
- public static final String ATTR_SERVICE_NAME = "serviceName";
-
- public static final String ATTR_SPECIFICATION = "specification";
-
- public static final String ATTR_TIMESTAMP = "timestamp";
-
- public static final String ATTR_TITLE = "title";
-
- public static final String ATTR_TYPE = "type";
-
- public static final String ATTR_VERSION = "version";
-
- /**
- * Default values.
- */
- public static final String DEFAULT_REPORT_URI = "report.xml";
-
- // TEMP: Use the following report title for the draft release only.
- //public static final String DEFAULT_REPORT_TITLE = "WS-I Profile
- // Conformance Report";
- public static final String DEFAULT_REPORT_TITLE = "WS-I Basic Profile Conformance Report.";
-
- public static final String DEFAULT_TEST_ASSERTIONS_DOCUMENT_URI = "http://www.ws-i.org/Testing/Tools/2004/12/AP10_BP11_SSBP10_TAD.xml";
-
- public static final String DEFAULT_LOG_XSL = "../common/xsl/log.xsl";
-
- public static final String DEFAULT_REPORT_XSL = "../common/xsl/report.xsl";
-
- public static final String DEFAULT_XSL_TYPE = "text/xsl";
-
- public static final String DEFAULT_XML_ENCODING = "UTF-8";
-
- /**
- * BOM constants.
- *
- */
- public static int BOM_UTF16 = 0xFFFE;
-
- public static int BOM_UTF16_BIG_ENDIAN = 0xFEFF;
-
- public static int BOM_UTF8 = 0xEFBBBF;
-
- /**
- * Validation constants.
- *
- */
- public static final String ATTRVAL_SOAP_BODY_USE_LIT = "literal";
-
- public static final String ATTRVAL_SOAP_BODY_USE_ENC = "encoded";
-
- public static final String ATTRVAL_SOAP_BIND_STYLE_DOC = "document";
-
- public static final String ATTRVAL_SOAP_BIND_STYLE_RPC = "rpc";
-
- public static final String ATTRVAL_CORRELATION_TYPE_ENDPOINT = "endpoint";
-
- public static final String ATTRVAL_CORRELATION_TYPE_NAMESPACE = "namespace";
-
- public static final String ATTRVAL_CORRELATION_TYPE_OPERATION = "operation";
-
- /**
- * WS-I constants - attributes for conformance claims (discovery).
- *
- */
-
- public static final String ATTRVAL_UDDI_CLAIM_KEYVALUE = "http://ws-i.org/profiles/basic/1.0";
-
- public static final String ATTRVAL_UDDI_CLAIM_TMODELKEY = "uuid:65719168-72c6-3f29-8c20-62defb0961c0";
-
- /**
- * WS-I names and versions of the profile test assertion document supported
- * in the current version of the test tools.
- */
- public static final String BASIC_PROFILE_TAD_NAME = "Basic Profile Test Assertions";
-
- public static final String BASIC_PROFILE_1_1_TAD_NAME = "Basic Profile 1.1 Test Assertions";
-
- public static final String SIMPLE_SOAP_BINDINGS_PROFILE_TAD_NAME = "Simple Soap Binding Profile [1.0] (with Basic Profile [1.1]) Test Assertions";
-
- public static final String ATTACHMENTS_PROFILE_TAD_NAME = "Attachments Profile [1.0] (with Basic Profile [1.1] and Simple Soap Binding Profile [1.0]) Test Assertions";
-
- public static final String BASIC_PROFILE_TAD_VERSION = "1.1.0";
-
- public static final String BASIC_PROFILE_1_1_TAD_VERSION = "1.1.0";
-
- public static final String SIMPLE_SOAP_BINDINGS_PROFILE_TAD_VERSION = "1.0.0";
-
- public static final String ATTACHMENTS_PROFILE_TAD_VERSION = "1.0.0";
-
- /**
- * System dependent line separator character.
- */
- public static final String LINE_SEPARATOR = System
- .getProperty("line.separator");
-
- /**
- * System dependent path separator character.
- */
- public static final String PATH_SEPARATOR = System
- .getProperty("path.separator");
-
- /**
- * File which contains the copyright, license and feedback comments.
- */
- public static final String COMMENTS_FILE = "comments.xml";
- public static final String CONTENT_TYPE_TEXT_XML = "text/xml";
- public static final String CONTENT_TYPE_MULTIPART = "multipart/related";
-
- public static final String FILE_PREFIX = "file:";
- public static final String HTTP_PREFIX = "http:";
- public static final String FILE_PROTOCOL = "file:///";
- public static final String WSI_PREFIX = "WS-I: ";
-
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIException.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIException.java
deleted file mode 100644
index e6e8db4b5..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIException.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.MissingResourceException;
-
-/**
- * Primary WS-I exception.
- *
- * @version 1.0.1
- * @author Peter Brittenham
- */
-public class WSIException extends Exception
-{
-
- /**
- * Static needed for serializable class
- */
- private static final long serialVersionUID = 5446823222767299308L;
-
- /**
- * Throwable.
- */
- protected Throwable throwable = null;
-
- /**
- * Create an exception without a message.
- */
- public WSIException()
- {
- // Exception
- super();
- }
-
- /**
- * Create an exception with a message.
- *
- * @param msg the exception message
- */
- public WSIException(String msg)
- {
- // Exception
- super(msg);
- }
-
- /**
- * Create an exception with a message and related exception.
- *
- * @param msg the exception message
- * @param throwable throwable that is related to this exception
- */
- public WSIException(String msg, Throwable throwable)
- {
- // Exception
- super(msg);
-
- // Save input reference
- this.throwable = throwable;
- }
-
- /**
- * Returns the String representation of this object's values.
- *
- * @return Returns the detail message of this throwable object.
- */
- public String getMessage()
- {
- return super.getMessage();
- }
-
- /**
- * Returns the String representation of this object's values.
- *
- * @return Returns the detail message of this throwable object.
- */
- public String toString()
- {
- //StringWriter sw;
- //PrintWriter pw;
-
- // Always get message from super class
- String msg = super.getMessage();
-
- // If this exception contains a reference to another exception,
- // then add it to the message
- if (throwable != null)
- {
- msg += "\n"
- + "------------------------------------------------------------------------------\n"
- + " Nested exception is: \n\n "
- + throwable.toString()
- + "\n";
-
- // If throwable is MissingResourceException,
- // then add class name and key to output
- if (throwable instanceof MissingResourceException)
- {
- MissingResourceException mre = (MissingResourceException) throwable;
-
- // Get class name and key
- msg += " - "
- + mre.getKey()
- + "\n\t"
- + "[Class Name: "
- + mre.getClassName()
- + "]";
- }
-
- // If throwable is InvocationTargetException,
- // then target of exception
- else if (throwable instanceof InvocationTargetException)
- {
- InvocationTargetException ite = (InvocationTargetException) throwable;
-
- // Get target
- msg += " - " + ite.getTargetException().toString();
- }
-
- // ADD: Print stack trace
- //sw = new StringWriter();
- //pw = new PrintWriter(sw);
- //throwable.printStackTrace(pw);
-
- // Add it to the message
- //msg += sw.toString();
- }
-
- // Return message
- return msg;
- }
-
- /**
- * Returns the exception that caused this exception to be created.
- *
- * @return Returns the encapsulated throwable object.
- */
- public Throwable getTargetException()
- {
- // Return throwable
- return throwable;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIFileNotFoundException.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIFileNotFoundException.java
deleted file mode 100644
index 5abf5dbb8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIFileNotFoundException.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * 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;
-
-/**
- * Signals that an attempt to open the file denoted by a specified
- * pathname has failed.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class WSIFileNotFoundException extends WSIException
-{
-
- /**
- * Static needed for serializable class
- */
- private static final long serialVersionUID = -1916010444601666401L;
-
-/**
- * Constructor for WSIFileNotFoundException.
- */
- public WSIFileNotFoundException()
- {
- super();
- }
-
- /**
- * Constructor for WSIFileNotFoundException.
- * @param msg the detail message.
-
- */
- public WSIFileNotFoundException(String msg)
- {
- super(msg);
- }
-
- /**
- * Constructor for WSIFileNotFoundException.
- * @param msg the detail message.
- * @param throwable initial exception thrown.
- */
- public WSIFileNotFoundException(String msg, Throwable throwable)
- {
- super(msg, throwable);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIRuntimeException.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIRuntimeException.java
deleted file mode 100644
index 6ae30b613..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIRuntimeException.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * 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;
-
-/**
- * This class represents runtime exceptions that occur after processing the configuration files.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class WSIRuntimeException extends WSIException
-{
-
- /**
- * Static needed for serializable class
- */
- private static final long serialVersionUID = 4309320981515513171L;
-
- /**
- * Constructor for WSIRuntimeException.
- */
- public WSIRuntimeException()
- {
- super();
- }
-
- /**
- * Constructor for WSIRuntimeException.
- * @param msg the detail message.
- */
- public WSIRuntimeException(String msg)
- {
- super(msg);
- }
-
- /**
- * Constructor for WSIRuntimeException.
- * @param msg the detail message.
- * @param throwable the initial exception thrown.
-
- */
- public WSIRuntimeException(String msg, Throwable throwable)
- {
- super(msg, throwable);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSITag.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSITag.java
deleted file mode 100644
index 1fb343339..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSITag.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.xml.XMLTags;
-
-/**
- * WS-I constants.
- *
- * @author Kulik
- */
-public interface WSITag extends XMLTags
-{
- /**
- * Qualified names of WSDL elements.
- */
- public final static QName WSDL_IMPORT =
- new QName(WSIConstants.NS_URI_WSDL, "import");
- public final static QName WSDL_TYPES =
- new QName(WSIConstants.NS_URI_WSDL, "types");
- public final static QName WSDL_MESSAGE =
- new QName(WSIConstants.NS_URI_WSDL, "message");
- public final static QName WSDL_DOCUMENTATION =
- new QName(WSIConstants.NS_URI_WSDL, "documentation");
- public final static QName WSDL_DEFINITIONS =
- new QName(WSIConstants.NS_URI_WSDL, "definitions");
- public final static QName WSDL_BINDING =
- new QName(WSIConstants.NS_URI_WSDL, "binding");
- public final static QName WSDL_OPERATION =
- new QName(WSIConstants.NS_URI_WSDL, "operation");
- public final static QName WSDL_PART =
- new QName(WSIConstants.NS_URI_WSDL, "part");
- public final static QName WSDL_INPUT =
- new QName(WSIConstants.NS_URI_WSDL, "input");
- public final static QName WSDL_OUTPUT =
- new QName(WSIConstants.NS_URI_WSDL, "output");
- public final static QName WSDL_FAULT =
- new QName(WSIConstants.NS_URI_WSDL, "fault");
- public final static QName WSDL_SERVICE =
- new QName(WSIConstants.NS_URI_WSDL, "service");
- public final static QName WSDL_PORT =
- new QName(WSIConstants.NS_URI_WSDL, "port");
- public final static QName WSDL_PORTTYPE =
- new QName(WSIConstants.NS_URI_WSDL, "portType");
-
- public static final QName WSDL_SOAP_BINDING =
- new QName(WSIConstants.NS_URI_WSDL_SOAP, "binding");
- public static final QName WSDL_SOAP_BODY =
- new QName(WSIConstants.NS_URI_WSDL_SOAP, "body");
- public static final QName WSDL_SOAP_HEADER =
- new QName(WSIConstants.NS_URI_WSDL_SOAP, "header");
- public static final QName WSDL_SOAP_HEADERFAULT =
- new QName(WSIConstants.NS_URI_WSDL_SOAP, "headerfault");
- public static final QName WSDL_SOAP_FAULT =
- new QName(WSIConstants.NS_URI_WSDL_SOAP, "fault");
-
- public static final QName WSDL_MIME_CONTENT =
- new QName(WSIConstants.NS_NAME_WSDL_MIME, "content");
- public static final QName WSDL_MIME_XML =
- new QName(WSIConstants.NS_NAME_WSDL_MIME, "mimeXml");
- public static final QName WSDL_MIME_PART =
- new QName(WSIConstants.NS_NAME_WSDL_MIME, "part");
- public static final QName WSDL_MIME_MULTIPART =
- new QName(WSIConstants.NS_NAME_WSDL_MIME, "multipartRelated");
-
- public final static QName ATTR_WSDL_ARRAYTYPE =
- new QName(WSIConstants.NS_URI_WSDL, "arrayType");
- public final static QName ATTR_WSDL_NAMESPACE =
- new QName(WSIConstants.NS_URI_WSDL, "namespace");
- public final static QName ATTR_WSDL_LOCATION =
- new QName(WSIConstants.NS_URI_WSDL, "location");
-
- /**
- * Namespaces.
- */
- public final static String NS_URI_CLAIM =
- "http://ws-i.org/schemas/conformanceClaim/";
- public final static String NS_URI_SOAP =
- "http://schemas.xmlsoap.org/soap/envelope/";
- public final static String NS_URI_SOAPENC =
- "http://schemas.xmlsoap.org/soap/encoding/";
- public final static String NS_URI_BASIC_PROFILE10 =
- "http://wsi.org/profiles/basic1.0/";
-
- public final static QName SOAPENC_ARRAY = new QName(NS_URI_SOAPENC, "Array");
-
- /**
- * Qualified names of WS-I claim elements.
- */
- public final static QName WSI_CLAIM = new QName(NS_URI_CLAIM, "Claim");
- public final static QName ATTR_CLAIM_CONFORMSTO =
- new QName(NS_URI_CLAIM, "conformsTo");
- public final static QName ATTR_SOAP_MUSTUNDERSTAND =
- new QName(NS_URI_SOAP, "mustUnderstand");
-
- /**
- * Qualified names of SOAP elements.
- */
- public final static QName ELEM_SOAP_ENVELOPE = new QName(NS_URI_SOAP, "Envelope");
- public final static QName ELEM_SOAP_BODY = new QName(NS_URI_SOAP, "Body");
- public final static QName ELEM_SOAP_FAULT = new QName(NS_URI_SOAP, "Fault");
- public final static QName ELEM_SOAP_HEADER = new QName(NS_URI_SOAP, "Header");
-
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/Analyzer.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/Analyzer.java
deleted file mode 100644
index ebe0bb33e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/Analyzer.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2002-2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.wst.wsi.internal.core.analyzer;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.List;
-import java.util.Vector;
-
-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.analyzer.config.AnalyzerConfig;
-import org.eclipse.wst.wsi.internal.core.document.DocumentFactory;
-import org.eclipse.wst.wsi.internal.core.log.Log;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions;
-import org.eclipse.wst.wsi.internal.core.profile.validator.ProfileValidatorFactory;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.util.MessageList;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-
-/**
- * The Analyzer will process all Profile conformance functions.
- * This class should be sub-classed for each profile.
- *
- * @version 1.0.1
- * @author Jim Clune
- * @author Peter Brittenham
- */
-public abstract class Analyzer
-{
- /**
- * Message list.
- */
- protected MessageList messageList = null;
-
- protected final static String RESOURCE_BUNDLE_NAME =
- "org.eclipse.wst.wsi.internal.core.analyzer.Analyzer";
-
- public final static String USAGE_MESSAGE =
- "Usage: Analyzer -config <configFilename>";
-
- protected Reporter reporter = null;
- protected AnalyzerContext analyzerContext = null;
- protected CandidateInfo candidateInfo = null;
-
- /**
- * Analyzer tool information.
- */
- protected ToolInfo toolInfo = null;
-
- /**
- * Profile validator factory.
- */
- protected ProfileValidatorFactory factory = null;
-
- /**
- * Profile validator factory.
- */
- protected DocumentFactory documentFactory = null;
-
- /**
- * Analyzer config file list.
- */
- protected List analyzerConfigList = new Vector();
- protected int analyzerConfigIndex = 0;
-
- /**
- * Profile assertions.
- */
- protected ProfileAssertions profileAssertions = null;
-
- /**
- * Log file.
- */
- protected Log log = null;
-
- /**
- * Create an instance of the analyzer tool.
- * @param args command line arguments.
- * @param toolInfo analyzer tool information.
- * @throws WSIException if problems creating the instance of the analyzer tool.
- */
- public Analyzer(String[] args, ToolInfo toolInfo) throws WSIException
- {
- init(toolInfo);
-
- // Get new config object
- this.analyzerConfigList.add(
- analyzerConfigIndex,
- documentFactory.newAnalyzerConfig());
- getAnalyzerConfig().init(messageList);
-
- // Parse command line arguments
- getAnalyzerConfig().parseArgs(args, true);
-
- // Display copyright and options that were specified
- TestUtils.printToolInfo(toolInfo);
- System.out.println(getAnalyzerConfig().toString());
-
- // Display message
- printMessage(
- "progress01",
- null,
- "Please wait while the specified artifacts are analyzed...");
- }
-
- /**
- * Create an instance of the analyzer tool.
- * @param args command line arguments.
- * @param toolInfo analyzer tool information.
- * @param validate flag for config options validation.
- * @throws WSIException if problems creating the instance of the analyzer tool.
- */
- public Analyzer(String[] args, ToolInfo toolInfo, boolean validate) throws WSIException
- {
- init(toolInfo);
-
- // Get new config object
- this.analyzerConfigList.add(
- analyzerConfigIndex,
- documentFactory.newAnalyzerConfig());
- getAnalyzerConfig().init(messageList);
-
- // Parse command line arguments
- getAnalyzerConfig().parseArgs(args, validate);
-
- // Display copyright and options that were specified
- TestUtils.printToolInfo(toolInfo);
- System.out.println(getAnalyzerConfig().toString());
-
- // Display message
- printMessage(
- "progress01",
- null,
- "Please wait while the specified artifacts are analyzed...");
- }
-
- /**
- * Create an instance of the analyzer tool.
- * @param analyzerConfigList analyzer config file list.
- * @param toolInfo analyzer tool information.
- * @throws WSIException if problems creating the instance of the analyzer tool.
- */
- public Analyzer(List analyzerConfigList, ToolInfo toolInfo)
- throws WSIException
- {
- init(toolInfo);
-
- this.analyzerConfigList = analyzerConfigList;
- }
-
- /**
- * Common initialization.
- * @param toolInfo analyzer tool information.
- * @throws WSIException if problems occur during common initialization.
- */
- protected void init(ToolInfo info) throws WSIException
- {
- this.toolInfo = info;
-
- // Create message list
- messageList = new MessageList(RESOURCE_BUNDLE_NAME);
-
- // Create profile validator factory
- factory = ProfileValidatorFactory.newInstance();
-
- // Create document factory
- documentFactory = DocumentFactory.newInstance();
- }
-
- /**
- * Process all conformance validation functions.
- * @return status code.
- * @throws WSIException if problems occur during validation.
- */
- public int validateAll() throws WSIException
- {
- int statusCode = 0;
- int tempStatusCode;
-
- for (int index = 0; index < analyzerConfigList.size(); index++)
- {
- // DEBUG:
- //System.out.println("index: " + index);
-
- // Set current analyzer config index
- setAnalyzerConfig(index);
-
- if ((tempStatusCode = validateConformance()) > statusCode)
- statusCode = tempStatusCode;
- }
-
- return statusCode;
- }
-
- /**
- * Process all conformance validation functions.
- * @return status code.
- * @throws WSIException if problems occur during conformance validation.
- */
- public abstract int validateConformance() throws WSIException;
-
- /**
- * Get tool information.
- * @return the tool information.
- */
- public ToolInfo getToolInfo()
-
- {
- return this.toolInfo;
- }
-
- /**
- * Set current analyzer configuration.
- * @param index urrent analyzer configuration.
- * @see #getAnalyzerConfig
- */
- protected void setAnalyzerConfig(int index)
- {
- this.analyzerConfigIndex = index;
- }
-
- /**
- * Get analyzer configuration information.
- * @return analyzer configuration information.
- * @see #setAnalyzerConfig
- */
- public AnalyzerConfig getAnalyzerConfig()
- {
- return (AnalyzerConfig) this.analyzerConfigList.get(analyzerConfigIndex);
- }
-
- /**
- * Print a message from the resource bundle.
- * @param key a key.
- * @param messageData message data.
- * @param defaultMessage a default message.
- */
- public void printMessage(
- String key,
- String messageData,
- String defaultMessage)
- {
- messageList.printMessage(key, messageData, defaultMessage);
- }
-
- /**
- * Print message.
- * @param key a key.
- * @param messageData message data.
- * @param defaultMessage a default message.
- */
- public static void staticPrintMessage(
- String key,
- String messageData,
- String defaultMessage)
- {
- MessageList.printMessage(
- RESOURCE_BUNDLE_NAME,
- key,
- messageData,
- defaultMessage);
- }
-
- /**
- * Return XML string representation of this object.
- * @param namespaceName a namespace prefix.
- * @return XML string representation of this object.
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- // Start
- pw.print(toolInfo.getStartXMLString(namespaceName));
-
- // Config
- pw.print(
- getAnalyzerConfig().toXMLString(
- WSIConstants.NS_NAME_WSI_ANALYZER_CONFIG));
-
- // End
- pw.println(toolInfo.getEndXMLString(namespaceName));
-
- return sw.toString();
- }
-
- /**
- * Print a message.
- * @param message a message.
- */
- public void printMessage(String message)
- {
- if (getAnalyzerConfig().getVerboseOption())
- {
- System.err.println(message);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/Analyzer.properties b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/Analyzer.properties
deleted file mode 100644
index d66cb7584..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/Analyzer.properties
+++ /dev/null
@@ -1,44 +0,0 @@
-# /**
-# * <copyright>
-# *
-# * 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
-# *
-# * </copyright>
-# */
-
-#
-# Analyzer resource bundle.
-#
-usage01=Usage: Analyzer -config <configFilename>
-created01=Conformance report has been created.
-progress01=Please wait while the specified artifacts are analyzed...
-error01=Analyzer Error:
-error02=Analyzer Stopped By Exception:
-error03=The conformance validation process failed.
-exception01=Exception:
-config01=Analyzer configuration file was not found. Specified file location:
-config02=Could not find log file. Specified file location:
-config03=Could not find WSDL file. Specified file location:
-config04=Can not specify both the WSDL reference and UDDI reference options.
-config05=WSDL document was either not found or could not be processed.
-config06=Invalid analyzer configuration element:
-config07=Both the <wsdlElement> and <wsdlURI> elements must be specified.
-config08=Could not read analyzer configuration file. Specified file location:
-config09=The parentElementName attribute must be specified with a WSDL type of port or operation.
-config10=The -wsdlElement option must appear after the -wsdlURI or -uddiKey options.
-config11=The -serviceLocation option must appear after the -wsdlURI or -uddiKey options.
-config12=The specified option is not supported:
-config13=Option did not contain a value. Specified option:
-config14=Could not find test assertion document. Specified file location:
-config15=Report file already exists and replace option was not specified.
-config16=Test assertion document location must be specified.
-config17=Could not get report file location.
-config18=Invalid correlation type specified.
-config19=The WSDL element name must be specified.
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AnalyzerContext.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AnalyzerContext.java
deleted file mode 100644
index d2f53a6a8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AnalyzerContext.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * 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.analyzer;
-
-/**
- * This class contains contextual information which is required by test assertions across all artifacts.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class AnalyzerContext
-{
- protected ServiceReference serviceReference = null;
- protected CandidateInfo candidateInfo = null;
-
- /**
- * Do not allow the usage of the null constructor.
- */
- private AnalyzerContext()
- {
- }
-
- /**
- * Create analyzer context with service reference.
- * @param serviceReference a service reference.
- */
- public AnalyzerContext(ServiceReference serviceReference)
- {
- this.serviceReference = serviceReference;
- }
-
- /**
- * Get service reference.
- * @return service reference.
- * @see #setServiceReference
- */
- public ServiceReference getServiceReference()
- {
- return this.serviceReference;
- }
-
- /**
- * Set service reference.
- * @param serviceReference a service reference.
- * @see #getServiceReference
- */
- public void setServiceReference(ServiceReference serviceReference)
- {
- this.serviceReference = serviceReference;
- }
-
- /**
- * Returns the candidateInfo.
- * @return CandidateInfo.
- * @see #setCandidateInfo
- */
- public CandidateInfo getCandidateInfo()
- {
- return candidateInfo;
- }
-
- /**
- * Sets the candidateInfo.
- * @param candidateInfo the candidateInfo to set.
- * @see #getCandidateInfo
- */
- public void setCandidateInfo(CandidateInfo candidateInfo)
- {
- this.candidateInfo = candidateInfo;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionFailException.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionFailException.java
deleted file mode 100644
index 8df5a2b34..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionFailException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * 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.analyzer;
-
-/**
- * Base Exception for Assertion Fail.
- *
- * @author gturrell
- * */
-public class AssertionFailException extends Exception
-{
-
- /**
- * Comment for <code>serialVersionUID</code>
- */
- private static final long serialVersionUID = 3257007635743258933L;
-
- /**
- * Constructor for AssertionException.
- */
- public AssertionFailException()
- {
- super();
- }
-
- /**
- * Constructor for AssertionException.
- * @param arg0 the detail message.
- */
- public AssertionFailException(String arg0)
- {
- super(arg0);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionNotApplicableException.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionNotApplicableException.java
deleted file mode 100644
index 6434a504d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionNotApplicableException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * 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.analyzer;
-
-/**
- * Exception for Assertion Not Applicable.
- *
- * @author gturrell
- */
-public class AssertionNotApplicableException extends Exception
-{
-
- /**
- * Comment for <code>serialVersionUID</code>
- */
- private static final long serialVersionUID = 3905523782994112564L;
-
- /**
- * Constructor for AssertionNotApplicableException.
- */
- public AssertionNotApplicableException()
- {
- super();
- }
-
- /**
- * Constructor for AssertionNotApplicableException.
- * @param arg0 the detail message.
- */
- public AssertionNotApplicableException(String arg0)
- {
- super(arg0);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionPassException.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionPassException.java
deleted file mode 100644
index 4957d665f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionPassException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * 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.analyzer;
-
-/**
- * Exception for Assertion Pass.
- *
- * @author gturrell
- */
-public class AssertionPassException extends Exception
-{
-
- /**
- * Comment for <code>serialVersionUID</code>
- */
- private static final long serialVersionUID = 3257285842283541810L;
-
- /**
- * Constructor for AssertionPAssException.
- */
- public AssertionPassException()
- {
- super();
- }
-
- /**
- * Constructor for AssertionPAssException.
- * @param arg0 the detail message.
- */
- public AssertionPassException(String arg0)
- {
- super(arg0);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionResultException.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionResultException.java
deleted file mode 100644
index 4e05aec49..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionResultException.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * 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.analyzer;
-
-/**
- * Exception for Assertion Result.
- *
- * @author gturrell
- */
-public class AssertionResultException extends Exception
-{
-
- /**
- * Comment for <code>serialVersionUID</code>
- */
- private static final long serialVersionUID = 3256720684700152632L;
- private String detailMessage;
- /**
- * Constructor for AssertionresultException.
- */
- public AssertionResultException()
- {
- super();
- detailMessage = null;
- }
-
- /**
- * Constructor for AssertionResultException.
- * @param arg0 the detail message.
- */
- public AssertionResultException(String arg0)
- {
- super(arg0);
- detailMessage = null;
- }
-
- /**
- * Constructor for AssertionResultException.
- * @param arg0 the detail message.
- * @param arg1 further detailed message.
- */
- public AssertionResultException(String arg0, String arg1)
- {
- super(arg0);
- detailMessage = arg1;
- }
-
- /**
- * Returns the detailMessage.
- * @return the detailMessage.
- */
- public String getDetailMessage()
- {
- return detailMessage;
- }
-
-}
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 d1a936a78..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/BasicProfileAnalyzer.java
+++ /dev/null
@@ -1,659 +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.List;
-
-import javax.wsdl.WSDLException;
-
-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.log.LogReader;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntryHandler;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertionsReader;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EnvelopeValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.MessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.UDDIValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.WSDLValidator;
-import org.eclipse.wst.wsi.internal.core.report.ArtifactReference;
-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.WSIProperties;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-import org.eclipse.wst.wsi.internal.core.xml.XMLDocumentCache;
-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;
-
- /**
- * 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);
- }
-
- }
-
- /**
- * 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;
- String wsdlURI = null;
- //WSDLDocument wsdlDocument = null;
-
- // Set up initial analyzer context based on entries in the config file
- this.analyzerContext =
- new AnalyzerContext(new ServiceReference(getAnalyzerConfig()));
-
- try
- {
- // Read profile assertions
- ProfileAssertionsReader profileAssertionsReader =
- documentFactory.newProfileAssertionsReader();
- this.profileAssertions =
- profileAssertionsReader.readProfileAssertions(
- getAnalyzerConfig().getTestAssertionsDocumentLocation());
-
- // 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);
-
- // Start writing report
- this.reporter.startReport();
-
- // --------------------------------
- // DISCOVERY ARTIFACT:
- // --------------------------------
-
- // Set current artifact
- reportArtifact = setCurrentArtifact(ArtifactType.ARTIFACT_TYPE_DISCOVERY);
-
- // If UDDI options specified, then process UDDI test assertions
- if ((wsdlURI = validateUDDI(reportArtifact, factory.newUDDIValidator()))
- == null)
- {
- if (getAnalyzerConfig().isWSDLReferenceSet())
- {
- // Otherwise use the WSDL options to get the WSDL location
- wsdlURI = getAnalyzerConfig().getWSDLLocation();
- }
- }
-
- // Indicate that we are done with this artifact
- this.reporter.endCurrentArtifact();
-
- // --------------------------------
- // DESCRIPTION ARTIFACT:
- // --------------------------------
-
- // Set current artifact
- reportArtifact =
- setCurrentArtifact(ArtifactType.ARTIFACT_TYPE_DESCRIPTION);
-
- // Call WSDLValidator
- wsdlDocument =
- validateWSDL(
- reportArtifact,
- factory.newWSDLValidator(),
- wsdlURI,
- wsdlDocument);
-
- // If WSDL document object is null, then throw exception
- if ((wsdlDocument == null) && (getAnalyzerConfig().isWSDLReferenceSet()))
- {
- throw new WSIException(
- messageList.getMessage(
- "config05",
- "WSDL document was either not found or could not be processed."));
- }
-
- // Indicate that we are done with this artifact
- this.reporter.endCurrentArtifact();
-
- // REMOVE:
- // If processing log entries and there isn't a WSDL URI,
- // then throw an exception since it is required to process the log entries
- //if ((wsdlURI == null) && (analyzerConfig.getLogLocation() != null)) {
- // throw new WSIException("Must specify the WSDL document location to validate message log.");
- //}
-
- // --------------------------------
- // MESSAGE ARTIFACT:
- // --------------------------------
-
- // Set current artifact
- reportArtifact = setCurrentArtifact(ArtifactType.ARTIFACT_TYPE_MESSAGE);
-
- // Process test assertions for the messages
- validateMessages(
- reportArtifact,
- factory.newMessageValidator(),
- wsdlDocument);
-
- // Indicate that we are done with this artifact
- this.reporter.endCurrentArtifact();
-
- // --------------------------------
- // ENVELOPE ARTIFACT:
- // --------------------------------
-
- // If that is not the Basic Profile 1.0, then process
- // the envelope artifact
- if (!profileAssertions.getTADName()
- .equals(WSIConstants.BASIC_PROFILE_TAD_NAME))
- {
-
- // Set current artifact
- reportArtifact = setCurrentArtifact(ArtifactType.ARTIFACT_TYPE_ENVELOPE);
-
- // Process test assertions for the envelopes
- validateEnvelopes(
- reportArtifact,
- factory.newEnvelopeValidator(),
- wsdlDocument);
-
- // Indicate that we are done with this artifact
- 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 UDDI test assertions.
- */
- private String validateUDDI(
- ReportArtifact reportArtifact,
- UDDIValidator uddiValidator)
- throws WSIException
- {
- String wsdlURI = null;
-
- // Init UDDIValidator
- uddiValidator.init(
- this.analyzerContext,
- this.profileAssertions.getArtifact(ArtifactType.TYPE_DISCOVERY),
- reportArtifact,
- getAnalyzerConfig().getUDDIReference(),
- this.reporter);
-
- // Call UDDIValidator
- if (getAnalyzerConfig().isUDDIReferenceSet())
- {
- wsdlURI = uddiValidator.validate();
-
- // Cleanup
- uddiValidator.cleanup();
- }
-
- else
- {
- // Set all missingInput
- uddiValidator.setAllMissingInput();
- }
-
- return wsdlURI;
- }
-
- /**
- * Run WSDL test assertions.
- */
- private WSDLDocument validateWSDL(
- ReportArtifact reportArtifact,
- WSDLValidator wsdlValidator,
- String wsdlURI,
- WSDLDocument document)
- throws WSIException
- {
- WSDLDocument returnWSDLDocument = null;
-
- // Init WSDLValidator
- wsdlValidator.init(
- this.analyzerContext,
- this.profileAssertions.getArtifact(ArtifactType.TYPE_DESCRIPTION),
- reportArtifact,
- wsdlURI,
- document,
- this.reporter);
-
- // If a WSDL URI was specified or located in a UDDI registry, then process the WSDL tests
- if (wsdlURI != null || document != null)
- {
- // Call WSDLValidator
- returnWSDLDocument = wsdlValidator.validate();
-
- // Cleanup
- wsdlValidator.cleanup();
- }
-
- else
- {
- // Set all missingInput
- wsdlValidator.setAllMissingInput();
- }
-
- return returnWSDLDocument;
- }
-
- /**
- * Run message test assertions.
- */
- private void validateMessages(
- ReportArtifact reportArtifact,
- MessageValidator messageValidator,
- WSDLDocument document)
- throws WSIException
- {
- //Log log = null;
- //MessageEntry logEntry = null;
-
- // Init MessageValidator
- messageValidator.init(
- this.analyzerContext,
- this.profileAssertions.getArtifact(ArtifactType.TYPE_MESSAGE),
- reportArtifact,
- document,
- this.reporter);
-
- // If the log file location was specified, then process test assertions for the messages
- if (getAnalyzerConfig().getLogLocation() != null)
- {
- // Get the log file reader
- LogReader logReader = documentFactory.newLogReader();
-
- // Create log reader callback
- MessageProcessor messageProcessor =
- new MessageProcessor(messageValidator);
-
- // Start reading the log file
- logReader.readLog(getAnalyzerConfig().getLogLocation(), messageProcessor);
-
- // Cleanup
- messageValidator.cleanup();
- }
-
- // Otherwise all are missingInput
- else
- {
- // Set all missingInput
- messageValidator.setAllMissingInput();
- }
- }
-
- /**
- * Run envelope test assertions.
- */
- private void validateEnvelopes(
- ReportArtifact reportArtifact,
- EnvelopeValidator envelopeValidator,
- WSDLDocument document)
- throws WSIException
- {
- // Init envelopeValidator
- envelopeValidator.init(
- this.analyzerContext,
- this.profileAssertions.getArtifact(ArtifactType.TYPE_ENVELOPE),
- reportArtifact,
- document,
- this.reporter);
-
- // If the log file location was specified, then process test assertions for the messages
- if (getAnalyzerConfig().getLogLocation() != null)
- {
- // Get the log file reader
- LogReader logReader = documentFactory.newLogReader();
-
- // Create log reader callback
- EnvelopeProcessor envelopeProcessor =
- new EnvelopeProcessor(envelopeValidator);
-
- // Start reading the log file
- logReader.readLog(getAnalyzerConfig().getLogLocation(), envelopeProcessor);
-
- // Cleanup
- envelopeValidator.cleanup();
- }
-
- // Otherwise all are missingInput
- else
- {
- // Set all missingInput
- envelopeValidator.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();
- }
-
- /**
- * Message processor class.
- */
- class MessageProcessor implements MessageEntryHandler
- {
- MessageValidator messageValidator = null;
-
- /**
- * Create message processor as a log reader callback function.
- */
- MessageProcessor(MessageValidator messageValidator)
- {
- this.messageValidator = messageValidator;
- }
-
- /**
- * Process artifact reference.
- */
- public void processArtifactReference(ArtifactReference artifactReference)
- throws WSIException
- {
- reporter.addArtifactReference(artifactReference);
- }
-
- /**
- * Process a single log entry.
- */
- public void processLogEntry(EntryContext entryContext) throws WSIException
- {
- // Validate message
- messageValidator.validate(entryContext);
- }
-
- }
-
- /**
- * Envelope processor class.
- */
- class EnvelopeProcessor implements MessageEntryHandler
- {
- EnvelopeValidator envelopeValidator = null;
-
- /**
- * Create envelope processor as a log reader callback function.
- */
- EnvelopeProcessor(EnvelopeValidator envelopeValidator)
- {
- this.envelopeValidator = envelopeValidator;
- }
-
- /**
- * Process artifact reference.
- */
- public void processArtifactReference(ArtifactReference artifactReference)
- throws WSIException
- {
- reporter.addArtifactReference(artifactReference);
- }
-
- /**
- * Process a single log entry.
- */
- public void processLogEntry(EntryContext entryContext) throws WSIException
- {
- // Validate envelopes
- envelopeValidator.validate(entryContext);
- }
-
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/CandidateInfo.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/CandidateInfo.java
deleted file mode 100644
index 553cbee39..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/CandidateInfo.java
+++ /dev/null
@@ -1,918 +0,0 @@
-/*******************************************************************************
- * 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.analyzer;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPAddress;
-import javax.xml.namespace.QName;
-
-import org.apache.xerces.util.URI;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLUtils;
-
-/**
- * Provide a normalized set of data relating to the service under test.
- * For example, with endpoint correlation and wsdlElement of type "message"
- * there could be multiple matches for most element types including WSDL Service.
- * (though the objective is to ensure filtering to a single service if at all possible).
- *
- * @author gturrell
- */
-
-// ADD:could be better as a singleton?
-
-public class CandidateInfo
-{
-
- // Normalized fixed correlation data derived from the analyzer config and the wsdl,
- // representing what we know about the service from these two sources.
- private Definition[] definitions = null;
-
- private Import[] imports = null;
- private Types[] types = null;
-
- private Message[] messages = null;
- private Operation[] operations = null;
- private PortType[] portTypes = null;
- private Binding[] bindings = null;
- private Port[] ports = null;
-
- private URI[] endPoints = null; // list obtainable from a port
-
- private WSDLDocument wsdlDocument; // reference probably not desirable here
-
- /**
- * Constructor for CandidateInfo.
- * Extract normalised entry data from wsdl, according to config wsdlElement & serviceLocation
- * @param serviceReference a ServiceReference object.
- * @param wsdlDocument a WSDL document.
- * @throws WSIException if problems occur creating CandidateInfo object.
- */
- public CandidateInfo(
- ServiceReference serviceReference,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
-
- // ADD: check for null document?
-
- WSDLElement wsdlElement = serviceReference.getWSDLElement();
-
- this.wsdlDocument = wsdlDocument;
-
- /*
- * Generalised fields independent of wsdlElement:
- */
- // ADD: check whether these need to be either expanded or filtered down.
- // Assume WSDL4J pulls int the full tree at the root document for now
- //this.imports = wsdlDocument.getImports();
-
- // ... or if only down to first level....
- this.imports =
- (Import[]) getAllImports(
- wsdlDocument.getDefinitions()).toArray(new Import[] {
- });
-
- /* Definitions.
- * Note that the the first array element is for the root doc
- * which contains all WSDL elements in scope via <import> declarations,
- * as well as the root document itself. Therefore the second definitions
- * array element and above are redundant, but *may* prove useful to the assertion
- * code.
- */
-
- this.definitions = new Definition[imports.length + 1];
- // allow room for root doc
-
- this.definitions[0] = wsdlDocument.getDefinitions(); // root document
-
- // Allocate array for types elements
- Types[] tempTypes = new Types[definitions.length];
-
- int typesCount = 0;
-
- if (definitions[0].getTypes() != null)
- {
- tempTypes[0] = this.definitions[0].getTypes(); // root document
- typesCount++;
- }
-
- // Definitions from other (imported) wsdls correlating to the candidate
- // Only one level down for now
- for (int i = 0; i < imports.length; i++)
- {
- if (((definitions[i + 1] = imports[i].getDefinition()) != null)
- && (definitions[i + 1].getTypes() != null))
- {
- tempTypes[typesCount] = definitions[i + 1].getTypes();
- typesCount++;
- }
- }
-
- if (typesCount > 0)
- {
- this.types = new Types[typesCount];
-
- for (int i = 0; i < typesCount; i++)
- this.types[i] = tempTypes[i];
- }
- /*
- * Populate element hierachy:
- * Port
- * Binding
- * PortType
- * operation(s)
- * message(s)
- */
-
- if (wsdlElement.isPort())
- {
-
- Port port = null;
-
- // Use parentElementName to qualify the port within a service.
- QName serviceName = wsdlElement.getParentElementQName();
- Service[] s = wsdlDocument.getServices();
- String portName = wsdlElement.getName();
- for (int i = 0; i < s.length && port == null; i++)
- {
- if (s[i].getQName().equals(serviceName))
- {
- port = s[i].getPort(portName);
- }
- }
-
- if (port == null)
- {
- throw new WSIException(
- "WSDL Port \'"
- + portName
- + "\' for Service \'"
- + serviceName
- + "\' not found in service description");
- }
- else
- {
- this.ports = new Port[] { port };
- // ADD: do serviceLocation check for soapbind:address?
- descendents(port);
- }
-
- // ADD: the following could be instantiated here instead to refine context info
- // definitions
- // imports
- // types
-
- }
-
- else if (wsdlElement.isBinding())
- {
- if (wsdlElement.getQName() != null
- && wsdlElement.getQName().getLocalPart() != null
- && wsdlElement.getQName().getLocalPart().length() > 0)
- {
- Binding binding =
- wsdlDocument.getDefinitions().getBinding(wsdlElement.getQName());
-
- if (binding == null)
- {
- throw new WSIException(
- "WSDL Binding named \'"
- + wsdlElement.getQName()
- + "\' not found in service description");
- }
- else
- {
- this.bindings = new Binding[] { binding };
-
- // the rest ... below binding:
- // portTypes from binding
- // operations from portTypes
- // messages from operations
- descendents(binding);
-
- // above binding:
- // ports
- // definitions, imports, types (future?)
- // ancestors(bindings);
- }
- }
- }
-
- else if (wsdlElement.isPortType())
- {
-
- PortType portType =
- wsdlDocument.getDefinitions().getPortType(wsdlElement.getQName());
- this.portTypes = new PortType[] { portType };
-
- if (portType == null)
- {
- throw new WSIException(
- "WSDL PortType named \'"
- + wsdlElement.getQName()
- + "\' not found in service description");
- }
- else
- {
- this.portTypes = new PortType[] { portType };
- // the rest ... below portType:
- descendents(portType);
-
- // above portType:
- // ports
- // definitions, imports, types (future) ?
- //ancestors(portTypes);
- }
- }
- else if (wsdlElement.isOperation())
- {
-
- Operation operation = null;
- String configOpName = wsdlElement.getName();
-
- // Use parentElementName to qualify the operation within a portType.
- QName portTypeName = wsdlElement.getParentElementQName();
- PortType[] p = wsdlDocument.getPortTypes();
- for (int i = 0; i < p.length && operation == null; i++)
- {
- if (p[i].getQName().equals(portTypeName))
- {
- // wsdl4j available method call below implies that only
- // name+inputname+outputname uniquely defines operation!
- // Since we do not have <input> & <output> name information
- // available in the config, use this instead for now: -
- // Get the first operation we find:
- Iterator opIt = p[i].getOperations().iterator();
- Operation op = null;
- while (opIt.hasNext() && operation == null)
- {
- op = (Operation) opIt.next();
- if (configOpName.equals(op.getName()))
- {
- operation = op;
- }
- }
- }
- }
-
- if (operation == null)
- {
- throw new WSIException(
- "No WSDL Operation named \'"
- + wsdlElement.getQName()
- + "\' found in service description");
- }
- else
- {
- this.operations = new Operation[] { operation };
-
- descendents(operation);
- //ancestors(operations);
- }
- }
-
- else if (wsdlElement.isMessage())
- {
-
- Message message =
- wsdlDocument.getDefinitions().getMessage(wsdlElement.getQName());
- if (message == null)
- {
- throw new WSIException(
- "No WSDL Message named \'"
- + wsdlElement.getQName()
- + "\' found in service description");
- }
- else
- {
- this.messages = new Message[] { message };
-
- //ancestors(messages);
- }
- }
-
- else
- {
- throw new WSIException(
- "Unrecognised <WSDLElement type> in config: " + wsdlElement.getType());
- }
-
- // get info about the effective service location (s)
- //this.endPoints = deriveEndpoints(analyzerConfig, this.ports, this.definitions);
- this.endPoints =
- deriveEndpoints(serviceReference, this.ports, this.definitions);
- }
-
- /**
- * ancestor code is not used at present.
- *
- */
- /*
- protected void ancestors(Port[] ports) {
- // no ancestors of Port required (for now)
- }
- protected void ancestors(Binding[] bindings) {
- // Ports from Bindings 1-2-1
-
- // *** cheat for now - get ports from all services in the wsdl doc
- // ADD: find correct mapping based on the supplied bindings
- Service[] service = wsdlDocument.getServices();
- HashSet set = new HashSet();
- for (int i=0; i>service.length; i++) {
- set.add(service[i].getPorts());
- }
-
- // assign the parent group and process the grandparents if any
- ancestors(this.ports = (Port[])set.toArray(this.ports = new Port[0]));
- }
- protected void ancestors(PortType[] portTypes) {
- // Bindings from PortTypes 1-2-1
-
- // add have to start with all bindings in doc and search for those
- // with the portType
- HashSet set = new HashSet();
- for (int i=0; i>portTypes.length; i++) {
- // set.add(portTypes[i].get());
- }
-
- // assign the parent group and process the grandparents if any
- ancestors(this.bindings = (Binding[])set.toArray(this.bindings = new Binding[0]));
- }
- protected void ancestors(Operation[] operations) {
- // PortTypes from Operations 1-2-1
-
- HashSet set = new HashSet();
- for (int i=0; i>operations.length; i++) {
- // set.add(operations[i].get());
- }
-
- // assign the parent group and process the grandparents if any
- ancestors(this.portTypes = (PortType[])set.toArray(this.portTypes = new PortType[0]));
- }
- protected void ancestors(Message[] messages) {
- // Operations from Messages 1-2-1
- // ADD fix it!
- HashSet set = new HashSet();
- for (int i=0; i>messages.length; i++) {
- // set.add(messages[i].get());
- }
-
- // assign the parent group
- this.portTypes = (PortType[])set.toArray(this.portTypes = new PortType[0]);
- }
- */
-
- /**
- * Descendant method for completing candidate service context creation.
- * @param port a Port object
- * @throws WSIException if port is null.
- */
- protected void descendents(Port port) throws WSIException
- {
- // Binding from Port 1-2-1
-
- if (port == null)
- {
- throw new WSIException("Internal error: expected a Port value");
- }
- else
- {
- this.bindings = new Binding[] { port.getBinding()};
- if (this.bindings[0] != null)
- {
- /* Assign the child group and process the grandchildren if any.
- * Null argument value passed into the following method would
- * suggest a WSDL definition inconsistency
- * which will be picked up during Description Artifact TA testing.
- */
- descendents(this.bindings[0]);
- }
- }
- }
-
- /**
- * Descendant method for completing candidate service context creation.
- * @param binding a Binding object
- * @throws WSIException if binding is null.
- */
- protected void descendents(Binding binding) throws WSIException
- {
- // portType from Binding 1-2-1
-
- if (binding == null)
- {
- throw new WSIException("Internal error: expected a Binding value");
- }
- else
- {
- this.portTypes = new PortType[] { binding.getPortType()};
- if (this.portTypes[0] != null)
- {
- /* Assign the child group and process the grandchildren if any.
- * Null argument value passed into the following method would
- * suggest a WSDL definition inconsistency
- * which will be picked up during Description Artifact TA testing.
- */
- descendents(this.portTypes[0]);
-
- // Get any messages that are referenced from headers and headerfaults
-
- // Get reference to definition
- Definition definition = definitions[0];
-
- // If there are messages already, then get them as a collection
- HashSet messageSet = new HashSet();
- if (messages != null)
- {
- for (int i = 0; i < messages.length; i++)
- {
- messageSet.add(messages[i]);
- }
- }
-
- // Get the messages that are referenced only by a binding
- HashSet bindingMessages = WSDLUtils.findMessages(definition, binding);
-
- // Add these messages to the complete message list
- messageSet.addAll(bindingMessages);
-
- // Create array from message set
- this.messages =
- (Message[]) messageSet.toArray(this.messages = new Message[0]);
- }
- }
- }
-
- /**
- * Descendant method for completing candidate service context creation.
- * @param portType a PortType object
- * @throws WSIException if portType is null.
- */
- protected void descendents(PortType portType) throws WSIException
- {
- // Operations from PortType 1-2-n
-
- if (portType == null)
- {
- throw new WSIException("Internal error: expected a PortType value");
- }
- else
- {
- this.operations =
- (Operation[]) (portType
- .getOperations()
- .toArray(this.operations = new Operation[0]));
- if (this.operations.length > 0)
- {
- descendents(this.operations);
- }
- }
- }
-
- /**
- * Descendant method for completing candidate service context creation.
- * @param operation a Operation object
- * @throws WSIException if operation is null.
- */
- protected void descendents(Operation operation) throws WSIException
- {
- // Messages from Operation
-
- if (operation == null)
- {
- throw new WSIException("Internal error: expected an Operation value");
- }
- else
- {
- descendents(new Operation[] { operation });
- }
- }
-
- /**
- * Descendant method for completing candidate service context creation.
- * @param operations an array of operations.
- * @throws WSIException if operations is null.
- */
- protected void descendents(Operation[] operations) throws WSIException
- {
- // Messages from Operations 1-2-n
-
- if (operations == null)
- {
- throw new WSIException("Internal error: expected an Operation[] value");
- }
-
- HashSet set = new HashSet();
- for (int i = 0; i < operations.length; i++)
- {
- if (operations[i].getInput() != null)
- set.add(operations[i].getInput().getMessage()); //1-2-1
- if (operations[i].getOutput() != null)
- set.add(operations[i].getOutput().getMessage()); //1-2-1
-
- // get messages associated with faults for this operation
- // 1-2-n
- Iterator it = operations[i].getFaults().values().iterator();
- while (it.hasNext())
- {
- set.add(((Fault) it.next()).getMessage());
- }
- }
- this.messages = (Message[]) set.toArray(this.messages = new Message[0]);
- // no descendents of messages so stop.
- }
-
- /**
- * Provide a recursive non-repeating list of imports for the specified
- * WSDL document definition.
- */
- /* private HashSet getAllImports(Definition rootDef) throws WSIException {
-
- HashSet importSet = new HashSet();
-
- Collection importList = rootDef.getImports().values();
- Iterator i = importList.iterator();
-
- while (i.hasNext()) {
- Import nextImport = (Import)(i.next());
- if (nextImport != null) {
- // its a wsdl document
- importSet.addAll(getAllImports(nextImport.getDefinition()));
- }
- }
-
- return (importSet);
- }
- */
- private HashSet getAllImports(Definition rootDef) throws WSIException
- {
-
- HashSet importSet = new HashSet();
-
- Map importMap = rootDef.getImports();
- Iterator i = importMap.values().iterator();
-
- while (i.hasNext())
- {
- List nextImportList = (List) (i.next());
- Iterator listIt = nextImportList.iterator();
- while (listIt.hasNext())
- {
- Import nextImport = (Import) listIt.next();
- if (nextImport != null)
- {
- // its a wsdl document
- importSet.add(nextImport);
- if (nextImport.getDefinition() != null)
- {
- HashSet subTreeImports = getAllImports(nextImport.getDefinition());
- Iterator subIt = subTreeImports.iterator();
- while (subIt.hasNext())
- {
- importSet.add((Import) (subIt.next()));
- }
- }
- }
- }
- }
-
- return (importSet);
- }
-
- /**
- * get all service location endpoint values
- * relevant to the service under test.
- *
- * If the service location is specified in the config we use
- * just that.
- * Otherwise, if the port is specified, we get all endpoints
- * associated with that port.
- * If we have neither the service location value or the port,
- * then all endpoints in the definition are used.
- */
- private URI[] deriveEndpoints(
- //AnalyzerConfig analyzerConfig,
- ServiceReference serviceReference, Port[] ports, Definition[] definitions)
- {
-
- URI[] endp = null;
- //Port port = null;
- try
- {
- String serviceLocation = null;
- // try service location...
- //if ((serviceLocation = analyzerConfig.getServiceLocation()) != null) {
- if ((serviceLocation = serviceReference.getServiceLocation()) != null)
- {
- endp = new URI[] { new URI(serviceLocation)};
- }
- //else if (analyzerConfig.getWSDLElement().isPort()) {
- else if (serviceReference.getWSDLElement().isPort())
- {
- if (ports.length != 1)
- {
- throw new WSIException("Internal error - expected 1-element Port array");
- }
- //else {
- // port = ports[0]; // if Port was given in config, there is just one
- //}
- //QName soapAddress = new QName(WSIConstants.NS_URI_WSDL_SOAP, "address");
- Iterator i = ports[0].getExtensibilityElements().iterator();
- while (i.hasNext() && serviceLocation == null)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) i.next();
- if (extElem instanceof SOAPAddress)
- {
- //if (extEl.getElementType().equals(soapAddress) {
- // this element is our SOAPAddress - get the location
- serviceLocation = ((SOAPAddress) extElem).getLocationURI();
- endp = new URI[] { new URI(serviceLocation)};
- }
- }
- }
- else
- { // no port info from config, so supply all in document
- // QName soapAddress = new QName(WSIConstants.NS_URI_WSDL_SOAP, "address");
- HashSet endpointSet = new HashSet();
- Iterator i = definitions[0].getExtensibilityElements().iterator();
- while (i.hasNext())
- {
- ExtensibilityElement extElem = (ExtensibilityElement) i.next();
- if (extElem instanceof SOAPAddress)
- {
- //if (extEl.getElementType().equals(soapAddress) {
- // this element is our SOAPAddress - get the location
- endpointSet.add(((SOAPAddress) extElem).getLocationURI());
- }
- }
- // Convert the derived List to a URI array
- endp = (URI[]) endpointSet.toArray(endp = new URI[0]);
- }
- }
- catch (Exception e)
- {
- }
- return endp;
- }
-
- /**
- * Returns the binding.
- * @return Binding
- */
- public Binding[] getBindings()
- {
- return bindings;
- }
-
- /**
- * Returns the endPoints.
- * @return URI[]
- */
- public URI[] getEndPoints()
- {
- // get list of matching endpoint(s) associated with service.
- return endPoints;
- }
-
- /**
- * Returns the endPoints matching the specified host and port.
- * @param hostAndPort host and port location.
- * @return URI[] if matched, null otherwise.
- */
- public URI[] getEndPoints(String hostAndPort)
- {
- // get list of matching endpoints associated with service,
- // having the specified host and port configuration
- String port;
-
- Vector matchedEndpoints = new Vector();
- for (int i = 0; i < endPoints.length; i++)
- {
- // PB: If the endpoint does not contain a port number, then default it to "80"
- port =
- (endPoints[i].getPort() == -1)
- ? "80"
- : String.valueOf(endPoints[i].getPort());
- if (hostAndPort.equals(endPoints[i].getHost() + ":" + port))
- {
- matchedEndpoints.add(endPoints[i]);
- }
- }
- return (URI[]) matchedEndpoints.toArray(new URI[0]);
- }
-
- /**
- * Returns the operation.
- * @return Operation
- */
- public Operation[] getOperations()
- {
- return operations;
- }
-
- /**
- * Returns the portType.
- * @return PortType
- */
- public PortType[] getPortType()
- {
- return portTypes;
- }
-
- /**
- * Returns true if the hostAndPort matches at least one context endpoint.
- * @param hostAndPortString a host and port location.
- * @return true if the hostAndPort matches at least one context endpoint.
- * @throws WSIException if given hostandPort String does not convert to URI.
- */
- public boolean hasHostAndPort(String hostAndPortString) throws WSIException
- {
- URI hostAndPort;
- try
- {
- hostAndPort = new URI(hostAndPortString);
- }
- catch (Exception e)
- {
- throw new WSIException(
- "Could not convert string to URI: " + hostAndPortString);
- }
- String host = hostAndPort.getHost();
- int port = hostAndPort.getPort();
- for (int i = 0; i < this.endPoints.length; i++)
- {
- if (this.endPoints[i].getHost().equals(host)
- && this.endPoints[i].getPort() == port)
- {
- return true;
- }
- }
- return false; // for now
- }
-
- /**
- * Returns the definitions.
- * @return Definition[]
- */
- public Definition[] getDefinitions()
- {
- return definitions;
- }
-
- /**
- * Returns the imports.
- * @return Import[]
- */
- public Import[] getImports()
- {
- return imports;
- }
-
- /**
- * Returns the messages.
- * @return Message[]
- */
- public Message[] getMessages()
- {
- return messages;
- }
-
- /**
- * Returns the ports.
- * @return Port[]
- */
- public Port[] getPorts()
- {
- return ports;
- }
-
- /**
- * Returns the portTypes.
- * @return PortType[]
- */
- public PortType[] getPortTypes()
- {
- return portTypes;
- }
-
- /**
- * Returns the types.
- * @return Types[]
- */
- public Types[] getTypes()
- {
- return types;
- }
- /**
- * Returns the wsdlDocument.
- * @return WSDLDocument
- */
- public WSDLDocument getWsdlDocument()
- {
- return wsdlDocument;
- }
-
- /**
- * Return the definition element that contains the types element.
- * @param types a Types object.
- * @return the definition element that contains the types element.
- */
- public Definition getDefinition(Types types)
- {
- Definition definition = null;
- Types checkTypes;
-
- for (int i = 0; i < definitions.length && definition == null; i++)
- {
- if (((checkTypes = definitions[i].getTypes()) != null)
- && (checkTypes.equals(types)))
- {
- definition = definitions[i];
- }
- }
-
- return definition;
- }
-
- /**
- * Return the definition element that contains the binding element.
- * @param binding a Binding object.
- * @return the definition element that contains the binding element.
- */
- public Definition getDefinition(Binding binding)
- {
- Definition definition = null;
-
- for (int i = 0; i < definitions.length && definition == null; i++)
- {
- if (definitions[i].getBinding(binding.getQName()) != null)
- definition = definitions[i];
- }
-
- return definition;
- }
-
- /**
- * Return the definition element that contains the portType element.
- * @param portType a PortType object.
- * @return the definition element that contains the portType element.
- */
- public Definition getDefinition(PortType portType)
- {
- Definition definition = null;
-
- for (int i = 0; i < definitions.length && definition == null; i++)
- {
- if (definitions[i].getPortType(portType.getQName()) != null)
- definition = definitions[i];
- }
-
- return definition;
- }
-
- /**
- * Return the definition element that contains the message.
- * @param message a Message object.
- * @return the definition element that contains the message.
- */
- public Definition getDefinition(Message message)
- {
- Definition definition = null;
-
- for (int i = 0; i < definitions.length && definition == null; i++)
- {
- if (definitions[i].getMessage(message.getQName()) != null)
- definition = definitions[i];
- }
-
- return definition;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/EnvironmentInfo.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/EnvironmentInfo.java
deleted file mode 100644
index 3f3eb4d1c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/EnvironmentInfo.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * 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.analyzer;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.util.XMLInfo;
-
-/**
- * This class maintains the Environment information.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class EnvironmentInfo implements XMLInfo
-{
- /**
- * Log timestamp.
- */
- protected String logTimestamp = null;
-
- /**
- * Monitor config comment.
- */
- protected String monitorConfigComment = null;
-
- /**
- * Create object.
- * @param logTimestamp the log timestamp.
- * @param monitorConfigComment the Monitor config comment.
- */
- public EnvironmentInfo(String logTimestamp, String monitorConfigComment)
- {
- this.logTimestamp = logTimestamp;
- this.monitorConfigComment = monitorConfigComment;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.util.XMLInfo#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if (!nsName.equals(""))
- nsName += ":";
-
- // Start element
- pw.print(" <" + nsName + WSIConstants.ELEM_LOG + " ");
- pw.println(
- WSIConstants.ATTR_TIMESTAMP + "=\"" + this.logTimestamp + "\"/>");
-
- pw.print(
- " <"
- + WSIConstants.NS_NAME_WSI_LOG
- + WSIConstants.ELEM_COMMENT
- + ">");
- pw.print(this.monitorConfigComment);
- pw.println(
- " </"
- + WSIConstants.NS_NAME_WSI_LOG
- + WSIConstants.ELEM_COMMENT
- + ">");
-
- // End element
- pw.println(" </" + nsName + WSIConstants.ELEM_LOG + ">");
-
- return sw.toString();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/ServiceReference.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/ServiceReference.java
deleted file mode 100644
index 773e484ff..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/ServiceReference.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * 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.analyzer;
-
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
-
-/**
- * This class contains all of the information that is needed to process description test assertions. The infromation
- * in this object will be derived from analyzer configuration information, UDDI entries, or the WSDL port element.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class ServiceReference
-{
- protected WSDLElement wsdlElement;
- protected String wsdlLocation;
- protected String serviceLocation;
-
- /**
- * Create service reference without references. All of them will be set later as test assertions are
- * being processed.
- */
- public ServiceReference()
- {
- }
-
- /**
- * Create service reference from entries specified in the analyzer config file. This information may include
- * the information extracted from the wsdlElement, wsdlURI and serviceLocation elements.
- * @param analyzerConfig an AnalyzerConfig object.
- */
- public ServiceReference(AnalyzerConfig analyzerConfig)
- {
- this.wsdlElement = analyzerConfig.getWSDLElement();
- this.wsdlLocation = analyzerConfig.getWSDLLocation();
- this.serviceLocation = analyzerConfig.getServiceLocation();
-
- }
-
- /**
- * Get the WSDL element where analysis should begin.
- * @return he WSDL element where analysis should begin.
- * @see #setWSDLElement
- */
- public WSDLElement getWSDLElement()
- {
- return this.wsdlElement;
- }
-
- /**
- * Set the WSDL element where analysis should begin.
- * @param wsdlElement the WSDL element where analysis should begin.
- * @see #getWSDLElement
- */
- public void setWSDLElement(WSDLElement wsdlElement)
- {
- this.wsdlElement = wsdlElement;
- }
-
- /**
- * Get WSDL document location.
- * @return WSDL document location.
- * @see #setWSDLLocation
- */
- public String getWSDLLocation()
- {
- return this.wsdlLocation;
- }
-
- /**
- * Set WSDL document location.
- * @param wsdlLocation WSDL document location.
- * @see #getWSDLLocation
- */
- public void setWSDLLocation(String wsdlLocation)
- {
- this.wsdlLocation = wsdlLocation;
- }
-
- /**
- * Get Web service location.
- * @return Web service location.
- * @see #setServiceLocation
- */
- public String getServiceLocation()
- {
- return this.serviceLocation;
- }
-
- /**
- * Set Web service location.
- * @param serviceLocation eb service location.
- * @see #getServiceLocation
- */
- public void setServiceLocation(String serviceLocation)
- {
- this.serviceLocation = serviceLocation;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AnalyzerConfig.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AnalyzerConfig.java
deleted file mode 100644
index 14a219943..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AnalyzerConfig.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * 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.analyzer.config;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet;
-import org.eclipse.wst.wsi.internal.core.document.WSIDocument;
-import org.eclipse.wst.wsi.internal.core.util.MessageList;
-
-/**
- * This is the interface for the analzyer configuration file.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface AnalyzerConfig extends WSIDocument
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_CONFIG;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_ANALYZER_CONFIG, ELEM_NAME);
-
- /**
- * Correlation types.
- */
- public static final String CORRELATION_TYPE_OPERATION = "operation";
- public static final String CORRELATION_TYPE_NAMESPACE = "namespace";
- public static final String CORRELATION_TYPE_ENDPOINT = "endpoint";
-
- /**
- * Initialize analyzer config.
- * @param messageList a MessageList object.
- */
- public void init(MessageList messageList);
-
- /**
- * Get optional description.
- * @return optional description.
- * @see #setDescription
- */
- public String getDescription();
-
- /**
- * Set optional description.
- * @param description an optional description.
- * @see #getDescription
- */
- public void setDescription(String description);
-
- /**
- * Get verbose option.
- * @return true if verbose.
- * @see #setVerboseOption
- */
- public boolean getVerboseOption();
-
- /**
- * Set verbose option.
- * @param verbose verbose option.
- * @see #getVerboseOption
- */
- public void setVerboseOption(boolean verbose);
-
- /**
- * Get assertion results option.
- * @return assertion results option.
- * @see #setAssertionResultsOption
- */
- public AssertionResultsOption getAssertionResultsOption();
-
- /**
- * Set assertion results option.
- * @param assertionResultsOption assertion results option.
- * @see #getAssertionResultsOption
- */
- public void setAssertionResultsOption(AssertionResultsOption assertionResultsOption);
-
- /**
- * Get replace report file option.
- * @return replace report file option.
- * @see #setReplaceReport
- */
- public boolean getReplaceReport();
-
- /**
- * Set replace report file option.
- * @param replaceReport eplace report file option.
- * @see #getReplaceReport
- */
- public void setReplaceReport(boolean replaceReport);
-
- /**
- * Get report file location.
- * @return report file location.
- * @see #setReportLocation
- */
- public String getReportLocation();
-
- /**
- * Set replace report file option.
- * @param reportURI report location.
- * @see #getReportLocation
- */
- public void setReportLocation(String reportURI);
-
- /**
- * Get style sheet.
- * @return style sheet.
- * @see #setAddStyleSheet
- */
- public AddStyleSheet getAddStyleSheet();
-
- /**
- * Set style sheet.
- * @param addStyleSheet a style sheet.
- * @see #getAddStyleSheet
- */
- public void setAddStyleSheet(AddStyleSheet addStyleSheet);
-
- /**
- * Get profile test assertions document location.
- * @return rofile test assertions document location.
- * @see #setTestAssertionsDocumentLocation
- */
- public String getTestAssertionsDocumentLocation();
-
- /**
- * Set profile test assertions document location.
- * @param testAssertionsDocumentURI profile test assertions document location.
- * @see #getTestAssertionsDocumentLocation
- */
- public void setTestAssertionsDocumentLocation(String testAssertionsDocumentURI);
-
- /**
- * Get mesage log location.
- * @return mesage log location.
- * @see #setLogLocation
- */
- public String getLogLocation();
-
- /**
- * Set message log location.
- * @param logURI message log location.
- * @see #getLogLocation
- */
- public void setLogLocation(String logURI);
-
- /**
- * Is message log location specified.
- * @return true if message log location is set.
- */
- public boolean isLogSet();
-
- /**
- * Get correlation type.
- * @return correlation type.
- * @see #setCorrelationType
- */
- public String getCorrelationType();
-
- /**
- * Set correlation type.
- * @param correlationType correlation type.
- * @see #getCorrelationType
- */
- public void setCorrelationType(String correlationType);
-
- /**
- * Is WSDL reference set.
- * @return true if WSDL reference is set.
- */
- public boolean isWSDLReferenceSet();
-
- /**
- * Get WSDL reference.
- * @return WSDL reference.
- * @see #setWSDLReference
- */
- public WSDLReference getWSDLReference();
-
- /**
- * Set WSDL reference.
- * @param wsdlReference WSDL reference.
- * @see #getWSDLReference
- */
- public void setWSDLReference(WSDLReference wsdlReference);
-
- /**
- * Get WSDL element.
- * @return WSDL element.
- */
- public WSDLElement getWSDLElement();
-
- /**
- * Get WSDL document location.
- * @return WSDL document location.
- */
- public String getWSDLLocation();
-
- /**
- * Get service location.
- * @return service location.
- */
- public String getServiceLocation();
-
- /**
- * Is UDDI reference set.
- * @return true if UDDI reference is set.
- */
- public boolean isUDDIReferenceSet();
-
- /**
- * Get UDDI reference.
- * @return UDDI reference.
- * @see #setUDDIReference
- */
- public UDDIReference getUDDIReference();
-
- /**
- * Set UDDI reference.
- * @param uddiReference UDDI reference.
- * @see #getUDDIReference
- */
- public void setUDDIReference(UDDIReference uddiReference);
-
- /**
- * Parse the command line arguments.
- * @param args the command line arguments.
- * @param validate flag for command line validation.
- * @throws WSIException if problems parsing the command line arguments.
- */
- public void parseArgs(String[] args, boolean validate) throws WSIException;
-
- /**
- * Get string representation of this object.
- * @return string representation of this object.
- */
- public String toString();
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AnalyzerConfigReader.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AnalyzerConfigReader.java
deleted file mode 100644
index 7c364fb4e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AnalyzerConfigReader.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * 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.analyzer.config;
-
-import java.io.Reader;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.document.DocumentReader;
-import org.eclipse.wst.wsi.internal.core.util.MessageList;
-
-
-/**
- * Defines the interface used to read the analyzer config documents.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface AnalyzerConfigReader extends DocumentReader {
-
- /**
- * Initialize analyzer config reader.
- * @param messageList a MessageList object.
- */
- public void init(MessageList messageList);
-
- /**
- * Read the analyzer config file.
- * @param analyzerConfigURI the analyzer config file location.
- * @return the AnalyzerConfig object.
- * @throws WSIException if unable to read the analyzer config file.
- */
- public AnalyzerConfig readAnalyzerConfig(String analyzerConfigURI) throws WSIException;
-
- /**
- * Read the analyzer config file.
- * @param reader a Reader object.
- * @return the AnalyzerConfig object.
- * @throws WSIException if unable to parse the analyzer config file.
- */
- public AnalyzerConfig readAnalyzerConfig(Reader reader) throws WSIException;
-}
-
-
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AssertionResultType.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AssertionResultType.java
deleted file mode 100644
index 020c9d136..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AssertionResultType.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- *
- * 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.analyzer.config;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-
-/**
- * Test assertion result type.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public final class AssertionResultType
-{
- /**
- * This type.
- */
- private String resultType = _ALL;
-
- /**
- * String version of result types.
- */
- private static final String _ALL = "all";
- private static final String _NOT_INFO = "notInfo";
- private static final String _ONLY_FAILED = "onlyFailed";
- private static final String _NOT_PASSED = "notPassed";
-
- /**
- * Result types.
- */
- public static final AssertionResultType ALL = new AssertionResultType(_ALL);
- public static final AssertionResultType NOT_INFO = new AssertionResultType(_NOT_INFO);
- public static final AssertionResultType ONLY_FAILED =
- new AssertionResultType(_ONLY_FAILED);
- public static final AssertionResultType NOT_PASSED =
- new AssertionResultType(_NOT_PASSED);
-
- /**
- * Do not allow this object to be created with null constructor.
- */
- private AssertionResultType()
- {
- }
-
- /**
- * Create result type.
- * @param resultType a result type.
- */
- private AssertionResultType(String resultType)
- {
- this.resultType = resultType;
- }
-
- /**
- * Is result type all.
- * @return true if the result type is all.
- */
- public boolean isAll()
- {
- return resultType.equals(_ALL);
- }
-
- /**
- * Is result type failed only.
- * @return true if the result type is failed only.
- */
- public boolean isFailedOnly()
- {
- return resultType.equals(_ONLY_FAILED);
- }
-
- /**
- * Is result type not passed.
- * @return true if the result type is not passed.
- */
- public boolean isNotPassed()
- {
- return resultType.equals(_NOT_PASSED);
- }
-
- /**
- * Is result type not info.
- * @return true if the result type is not info.
- */
- public boolean isNotInfo()
- {
- return resultType.equals(_NOT_INFO);
- }
-
- /**
- * Get result type.
- * @return result type.
- */
- public String getType()
- {
- return resultType;
- }
-
- /**
- * Create new assertion result type.
- * @param resultType an assertion result type.
- * @return new assertion result type.
- * @throws WSIException if invalid assertion result type was specified.
- */
- public static AssertionResultType newInstance(String resultType)
- throws WSIException
- {
- AssertionResultType assertionResultType = null;
-
- if (resultType == null)
- {
- assertionResultType = NOT_INFO;
- }
-
- else if (resultType.equals(_ALL))
- {
- assertionResultType = ALL;
- }
-
- else if (resultType.equals(_ONLY_FAILED))
- {
- assertionResultType = ONLY_FAILED;
- }
-
- else if (resultType.equals(_NOT_PASSED))
- {
- assertionResultType = NOT_PASSED;
- }
- else if (resultType.equals(_NOT_INFO))
- {
- assertionResultType = NOT_INFO;
- }
-
- else
- {
- throw new WSIException(
- "An invalid assertion result type was specified: " + resultType + ".");
- }
-
- return assertionResultType;
- }
-
- /**
- * Get string representation of this object.
- * @return string representation of this object.
- */
- public String toString()
- {
- return resultType;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AssertionResultsOption.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AssertionResultsOption.java
deleted file mode 100644
index 34ed56f14..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AssertionResultsOption.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * 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.analyzer.config;
-
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-
-/**
- * This interface contains a definition of the assertion results that
- * should be included in the report. It also contains information
- * that indicates which messages should be included in the report.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface AssertionResultsOption extends DocumentElement
-{
- /**
- * Get assertion result type.
- * @return assertion result type.
- * @see #setAssertionResultType
- */
- public AssertionResultType getAssertionResultType();
-
- /**
- * Set assertion result type.
- * @param resultType assertion result type.
- * @see #getAssertionResultType
- */
- public void setAssertionResultType(AssertionResultType resultType);
-
- /**
- * Get show message entry indicator.
- * @return show message entry indicator.
- * @see #setShowMessageEntry
- */
- public boolean getShowMessageEntry();
-
- /**
- * Set show message entry indictor.
- * @param showMessageEntry show message entry indictor.
- * @see #getShowMessageEntry
- */
- public void setShowMessageEntry(boolean showMessageEntry);
-
- /**
- * Get show assertion description indicator.
- * @return show assertion description indicator.
- * @see #setShowAssertionDescription
- */
- public boolean getShowAssertionDescription();
-
- /**
- * Set show assertion description indictor.
- * @param showAssertionDescription show assertion description indictor.
- * @see #getShowAssertionDescription
- */
- public void setShowAssertionDescription(boolean showAssertionDescription);
-
- /**
- * Get show failure message indicator.
- * @return show failure message indicator.
- * @see #setShowFailureMessage
- */
- public boolean getShowFailureMessage();
-
- /**
- * Set show failure message indicator.
- * @param showFailureMessage show failure message indicator.
- * @see #getShowFailureMessage
- */
- public void setShowFailureMessage(boolean showFailureMessage);
-
- /**
- * Get show error detail indicator.
- * @return show error detail indicator.
- * @see #setShowFailureDetail
- */
- public boolean getShowFailureDetail();
-
- /**
- * Set show error detail indicator.
- * @param showfailureDetail show error detail indicator.
- * @see #getShowFailureDetail
- */
- public void setShowFailureDetail(boolean showfailureDetail);
-
- /**
- * Get string representation of this object.
- * @return string representation of this object.
- */
- public String toString();
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/UDDIReference.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/UDDIReference.java
deleted file mode 100644
index 2a3bcd215..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/UDDIReference.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * 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.analyzer.config;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-
-/**
- * The interface for a reference to a discovery artifact.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface UDDIReference extends DocumentElement
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_UDDI_REFERENCE;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_ANALYZER_CONFIG, ELEM_NAME);
-
- /**
- * UDDI key type: bindingKey.
- */
- public static final String BINDING_KEY = "bindingKey";
-
- /**
- * UDDI key type: tModelKey.
- */
- public static final String TMODEL_KEY = "tModelKey";
-
- /**
- * Get UDDI key type.
- * @return UDDI key type.
- * @see #setKeyType
- */
- public String getKeyType();
-
- /**
- * Set UDDI key type.
- * @param keyType UDDI key type.
- * @see #getKeyType
- */
- public void setKeyType(String keyType);
-
- /**
- * Get UDDI key.
- * @return UDDI key.
- * @see #setKey
- */
- public String getKey();
-
- /**
- * Set UDDI key.
- * @param key UDDI key.
- * @see #getKey
- */
- public void setKey(String key);
-
- /**
- * Get UDDI inquiry URL.
- * @return UDDI inquiry URL.
- * @see #setInquiryURL
- */
- public String getInquiryURL();
-
- /**
- * Set UDDI inquiryURL.
- * @param inquiryURL UDDI inquiryURL.
- * @see #getInquiryURL
- */
- public void setInquiryURL(String inquiryURL);
-
- /**
- * Get WSDL element.
- * @return WSDL element.
- * @see #setWSDLElement
- */
- public WSDLElement getWSDLElement();
-
- /**
- * Set WSDL element.
- * @param wsdlElement WSDL element.
- * @see #getWSDLElement
- */
- public void setWSDLElement(WSDLElement wsdlElement);
-
- /**
- * Get service location.
- * @return service location.
- * @see #setServiceLocation
- */
- public String getServiceLocation();
-
- /**
- * Set service location.
- * @param serviceLocation service location.
- * @see #getServiceLocation
- */
- public void setServiceLocation(String serviceLocation);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/WSDLElement.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/WSDLElement.java
deleted file mode 100644
index 2be33e22c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/WSDLElement.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * 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.analyzer.config;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-
-/**
- * The base interface for WSDL definitions.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface WSDLElement extends DocumentElement
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_WSDL_ELEMENT;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_ANALYZER_CONFIG, ELEM_NAME);
-
- /**
- * Get WSDL element type.
- * @return WSDL element type.
- * @see #setType
- */
- public String getType();
-
- /**
- * Set WSDL element type.
- * @param type WSDL element type.
- * @see #getType
- */
- public void setType(String type);
-
- /**
- * Get WSDL element namespace.
- * @return WSDL element namespace.
- * @see #setNamespace
- */
- public String getNamespace();
-
- /**
- * Set WSDL element namespace.
- * @param namespace WSDL element namespace.
- * @see #getNamespace
- */
- public void setNamespace(String namespace);
-
- /**
- * Get WSDL element name.
- * @return WSDL element name.
- * @see #setName
- */
- public String getName();
-
- /**
- * Set WSDL element name.
- * @param name WSDL element name.
- * @see #getName
- */
- public void setName(String name);
-
- /**
- * Get WSDL element qualified name.
- * @return WSDL element qualified name.
- */
- public QName getQName();
-
- /**
- * Get WSDL parent element name.
- * @return WSDL parent element name.
- * @see #setParentElementName
- *
- */
- public String getParentElementName();
-
- /**
- * Set WSDL parent element name.
- * @param parentElementName WSDL parent element name.
- * @see #getParentElementName
- */
- public void setParentElementName(String parentElementName);
-
- /**
- * Get WSDL parent element QName.
- * @return WSDL parent element QName.
- */
- public QName getParentElementQName();
-
- /**
- * Is port element.
- * @return true if the element is a port.
- */
- public boolean isPort();
-
- /**
- * Is binding element.
- * @return true if the lement is a binding.
- */
- public boolean isBinding();
-
- /**
- * Is portType element.
- * @return true if element is a port type.
- */
- public boolean isPortType();
-
- /**
- * Is operation element.
- * @return true if the element is an operation.
- */
- public boolean isOperation();
-
- /**
- * Is message element.
- * @return true if element is a message.
- */
- public boolean isMessage();
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/WSDLReference.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/WSDLReference.java
deleted file mode 100644
index ec550c249..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/WSDLReference.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * 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.analyzer.config;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-
-/**
- * The interface for a reference to a description artifact.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface WSDLReference extends DocumentElement
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_WSDL_REFERENCE;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_ANALYZER_CONFIG, ELEM_NAME);
-
- /**
- * Get WSDL element.
- * @return WSDL element.
- * @see #setWSDLElement
- */
- public WSDLElement getWSDLElement();
-
- /**
- * Set WSDL element.
- * @param wsdlElement WSDL element.
- * @see #getWSDLElement
- */
- public void setWSDLElement(WSDLElement wsdlElement);
-
- /**
- * Get WSDL location.
- * @return WSDL location.
- * @see #setWSDLLocation
- */
- public String getWSDLLocation();
-
- /**
- * Set WSDL location.
- * @param wsdlLocation WSDL location.
- * @see #getWSDLLocation
- */
- public void setWSDLLocation(String wsdlLocation);
-
- /**
- * Get service location.
- * @return service location.
- * @see #setServiceLocation
- */
- public String getServiceLocation();
-
- /**
- * Set service location.
- * @param serviceLocation service location.
- * @see #getServiceLocation
- */
- public void setServiceLocation(String serviceLocation);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AnalyzerConfigImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AnalyzerConfigImpl.java
deleted file mode 100644
index 95ee74a0d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AnalyzerConfigImpl.java
+++ /dev/null
@@ -1,1060 +0,0 @@
-/*******************************************************************************
- * 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.analyzer.config.impl;
-
-import java.io.File;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.Analyzer;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfigReader;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultType;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultsOption;
-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.WSDLReference;
-import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet;
-import org.eclipse.wst.wsi.internal.core.common.impl.AddStyleSheetImpl;
-import org.eclipse.wst.wsi.internal.core.util.MessageList;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-/**
- * This class is an implementation of the analyzer configuration file interface.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class AnalyzerConfigImpl implements AnalyzerConfig
-{
- /**
- * Message list reference.
- */
- protected MessageList messageList = null;
-
- /**
- * Analyzer configuration file URI.
- */
- protected String configURI = null;
-
- /**
- * Optional description.
- */
- protected String description = null;
-
- /**
- * Verbose option.
- */
- protected boolean verbose = false;
-
- /**
- * Assertion results option.
- */
- protected AssertionResultsOption assertionResultsOption =
- new AssertionResultsOptionImpl();
-
- /**
- * Report location.
- */
- protected String reportURI = WSIConstants.DEFAULT_REPORT_URI;
-
- /**
- * Replace report indicator.
- */
- protected boolean replaceReport = false;
-
- /**
- * Add style sheet.
- */
- protected AddStyleSheet addStyleSheet;
-
- /**
- * Profile test assertions document location.
- */
- protected String testAssertionsDocumentURI =
- WSIConstants.DEFAULT_TEST_ASSERTIONS_DOCUMENT_URI;
-
- /**
- * Message log location.
- */
- protected String logURI = null;
-
- /**
- * Message correlation type.
- */
- protected String correlationType =
- WSIConstants.ATTRVAL_CORRELATION_TYPE_OPERATION;
-
- /**
- * WSDL reference.
- */
- protected WSDLReference wsdlReference = null;
-
- /**
- * UDDI reference.
- */
- protected UDDIReference uddiReference = null;
-
- /**
- * Default constructor.
- */
- public AnalyzerConfigImpl()
- {
- }
-
- /**
- * Constructor with all settings.
- * @param description an optional description.
- * @param verbose the verbose option.
- * @param assertionResultsOption an assertion results option.
- * @param reportURI report location.
- * @param replaceReport a replace report indicator.
- * @param addStyleSheet add style sheet.
- * @param testAssertionsDocumentURI profile test assertions document location.
- * @param logURI message log location.
- * @param correlationType message correlation type.
- * @param wsdlReference a WSDL reference..
- * @param uddiReference a UUDDI reference.
- */
- public AnalyzerConfigImpl(
- String description,
- boolean verbose,
- AssertionResultsOption assertionResultsOption,
- String reportURI,
- boolean replaceReport,
- AddStyleSheet addStyleSheet,
- String testAssertionsDocumentURI,
- String logURI,
- String correlationType,
- WSDLReference wsdlReference,
- UDDIReference uddiReference)
- {
- this.description = description;
- this.verbose = verbose;
- this.assertionResultsOption = assertionResultsOption;
- this.reportURI = reportURI;
- this.replaceReport = replaceReport;
- this.addStyleSheet = addStyleSheet;
- this.testAssertionsDocumentURI = testAssertionsDocumentURI;
- this.logURI = logURI;
- this.correlationType = correlationType;
- this.wsdlReference = wsdlReference;
- this.uddiReference = uddiReference;
- }
-
- /**
- * Initialize analyzer config.
- */
- public void init(MessageList messageList)
- {
- this.messageList = messageList;
- }
-
- /**
- * Get optional description.
- * @see #setDescription
- */
- public String getDescription()
- {
- return this.description;
- }
-
- /**
- * Set optional description.
- * @see #getDescription
- */
- public void setDescription(String description)
- {
- this.description = description;
- }
-
- /**
- * @see #setVerboseOption
- */
- public boolean getVerboseOption()
- {
- return this.verbose;
- }
-
- /**
- * @see #getVerboseOption
- */
- public void setVerboseOption(boolean verbose)
- {
- this.verbose = verbose;
- }
-
- /**
- * Get assertion results option.
- * @see #setAssertionResultsOption
- */
- public AssertionResultsOption getAssertionResultsOption()
- {
- return this.assertionResultsOption;
- }
-
- /**
- * Set assertion results option.
- * @see #getAssertionResultsOption
- */
- public void setAssertionResultsOption(AssertionResultsOption assertionResultsOption)
- {
- this.assertionResultsOption = assertionResultsOption;
- }
-
- /**
- * @see #setReportLocation
- */
- public String getReportLocation()
- {
- return this.reportURI;
- }
-
- /**
- * @see #getReportLocation
- */
- public void setReportLocation(String reportURI)
- {
- this.reportURI = reportURI;
- }
-
- /**
- * Get replace report file option.
- * @see #setReplaceReport
- */
- public boolean getReplaceReport()
- {
- return this.replaceReport;
- }
-
- /**
- * Set report file location.
- * @see #getReplaceReport
- */
- public void setReplaceReport(boolean replaceReport)
- {
- this.replaceReport = replaceReport;
- }
-
- /**
- * Get add style sheet.
- * @see #setAddStyleSheet
- */
- public AddStyleSheet getAddStyleSheet()
- {
- return this.addStyleSheet;
- }
-
- /**
- * Set replace report file option.
- * @see #getAddStyleSheet
- */
- public void setAddStyleSheet(AddStyleSheet addStyleSheet)
- {
- this.addStyleSheet = addStyleSheet;
- }
-
- /**
- * @see #setTestAssertionDocumentLocation
- */
- public String getTestAssertionsDocumentLocation()
- {
- return this.testAssertionsDocumentURI;
- }
-
- /**
- * @see #getTestAssertionDocumentLocation
- */
- public void setTestAssertionsDocumentLocation(String testAssertionsDocumentURI)
- {
- this.testAssertionsDocumentURI = testAssertionsDocumentURI;
- }
-
- /**
- * @see #setLogLocation
- */
- public String getLogLocation()
- {
- return logURI;
- }
-
- /**
- * @see #getLogLocation
- */
- public void setLogLocation(String logURI)
- {
- this.logURI = logURI;
- }
-
- public boolean isLogSet()
- {
- return (logURI != null);
- }
-
- /**
- * Get correlation type.
- * @see #setCorrelationType
- */
- public String getCorrelationType()
- {
- return this.correlationType;
- }
-
- /**
- * Set correlation type.
- * @see #getCorrelationType
- *
- */
- public void setCorrelationType(String correlationType)
- {
- this.correlationType = correlationType;
- }
-
- /**
- * Is WSDL reference set.
- */
- public boolean isWSDLReferenceSet()
- {
- return (this.wsdlReference == null ? false : true);
- }
-
- /**
- * Get WSDL reference.
- * @see #setWSDLReference
- */
- public WSDLReference getWSDLReference()
- {
- return this.wsdlReference;
- }
-
- /**
- * Set WSDL reference.
- * @see #getWSDLReference
- */
- public void setWSDLReference(WSDLReference wsdlReference)
- {
- this.wsdlReference = wsdlReference;
- }
-
- /**
- * Get WSDL element.
- *
- */
- public WSDLElement getWSDLElement()
- {
- return (this.wsdlReference == null)
- ? null
- : this.wsdlReference.getWSDLElement();
- }
-
- /**
- * Get service location.
- */
- public String getServiceLocation()
- {
- return (this.wsdlReference == null)
- ? null
- : this.wsdlReference.getServiceLocation();
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig#getWSDLLocation()
- */
- public String getWSDLLocation()
- {
- return (this.wsdlReference == null)
- ? null
- : this.wsdlReference.getWSDLLocation();
- }
-
- /**
- * @see org.wsi.test.analyzer.config.AnalyzerConfig#isUddiReferenceSet)
- */
- public boolean isUDDIReferenceSet()
- {
- return (this.uddiReference == null ? false : true);
- }
-
- /**
- * Get UDDI reference.
- * @see #setUDDIReference
- */
- public UDDIReference getUDDIReference()
- {
- return this.uddiReference;
- }
-
- /**
- * Set UDDI reference.
- * @see #getUDDIReference
- */
- public void setUDDIReference(UDDIReference uddiReference)
- {
- this.uddiReference = uddiReference;
- }
-
- /**
- * @see #setLocation
- */
- public String getLocation()
- {
- return configURI;
- }
-
- /**
- * @see getLocation
- */
- public void setLocation(String configURI)
- {
- this.configURI = configURI;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.document.WSIDocument#toXMLString()
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- // Start element
- pw.println(" <" + nsName + ELEM_NAME + ">");
-
- // Verbose option
- pw.print(" <" + nsName + WSIConstants.ELEM_VERBOSE + ">");
- pw.print(getVerboseOption());
- pw.println("</" + nsName + WSIConstants.ELEM_VERBOSE + ">");
-
- // Get assertion results option
- pw.print(assertionResultsOption.toXMLString(nsName));
-
- // report file
- pw.print(" <" + nsName + WSIConstants.ELEM_REPORT_FILE + " ");
- pw.print(WSIConstants.ATTR_REPLACE + "=\"" + getReplaceReport() + "\" ");
- pw.println(
- WSIConstants.ATTR_LOCATION + "=\"" + getReportLocation() + "\">");
- pw.print(getAddStyleSheet().toXMLString(namespaceName));
- pw.println(" </" + nsName + WSIConstants.ELEM_REPORT_FILE + ">");
-
- // test assertion file
- pw.print(
- " <" + nsName + WSIConstants.ELEM_TEST_ASSERTIONS_FILE + ">");
- pw.print(getTestAssertionsDocumentLocation());
- pw.println("</" + nsName + WSIConstants.ELEM_TEST_ASSERTIONS_FILE + ">");
-
- // log file
- pw.print(" <" + nsName + WSIConstants.ELEM_LOG_FILE);
- pw.print(
- " "
- + WSIConstants.ATTR_CORRELATION_TYPE
- + "=\""
- + this.correlationType
- + "\">");
- pw.print(getLogLocation());
- pw.println("</" + nsName + WSIConstants.ELEM_LOG_FILE + ">");
-
- // WSDL reference
- if (this.wsdlReference != null)
- {
- pw.print(getWSDLReference().toXMLString(nsName));
- }
-
- // UDDI Reference
- if (this.uddiReference != null)
- {
- pw.print(getUDDIReference().toXMLString(nsName));
- }
-
- // End element
- pw.println(" </" + nsName + ELEM_NAME + ">");
-
- return sw.toString();
- }
-
- /**
- * Get string representation of this object.
- */
- public String toString()
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- // verbose option
- pw.println(" verbose .................... " + this.verbose);
-
- // assertionResults options
- pw.print(this.assertionResultsOption.toString());
-
- // reportFile options
- pw.println(" Report File:");
- pw.println(" replace .................. " + this.replaceReport);
- pw.println(" location ................. " + this.reportURI);
- if (this.addStyleSheet != null)
- {
- pw.println(" Style Sheet:");
- if (this.addStyleSheet.getHref() != null)
- pw.println(
- " href ................... " + this.addStyleSheet.getHref());
- if (this.addStyleSheet.getType() != null)
- pw.println(
- " type ................... " + this.addStyleSheet.getType());
- if (this.addStyleSheet.getTitle() != null)
- pw.println(
- " title .................. " + this.addStyleSheet.getTitle());
- if (this.addStyleSheet.getMedia() != null)
- pw.println(
- " media .................. " + this.addStyleSheet.getMedia());
- if (this.addStyleSheet.getCharset() != null)
- pw.println(
- " charset ................ " + this.addStyleSheet.getCharset());
- if (this.addStyleSheet.getAlternate() != null)
- pw.println(
- " alternate .............. "
- + this.addStyleSheet.getAlternate());
- }
-
- // testAssertionsFile parameter
- pw.println(
- " testAssertionsFile ......... " + this.testAssertionsDocumentURI);
-
- // logFile options
- if (this.logURI != null)
- {
- pw.println(" Message Log File:");
- pw.println(" location ................. " + this.logURI);
- pw.println(" correlationType .......... " + this.correlationType);
- }
-
- // wsdlReference options
- if (this.isWSDLReferenceSet())
- {
- pw.print(this.wsdlReference.toString());
- }
-
- // uddiReference options
- if (this.isUDDIReferenceSet())
- {
- pw.print(this.uddiReference.toString());
- }
-
- // description parameter
- if (this.description != null)
- {
- pw.println(" description ................ " + this.description);
- }
-
- return sw.toString();
- }
-
- /**
- * Set config values from another analyzer config object.
- */
- private void setConfig(AnalyzerConfig analyzerConfig)
- {
- this.configURI = analyzerConfig.getLocation();
- this.description = analyzerConfig.getDescription();
- this.verbose = analyzerConfig.getVerboseOption();
- this.assertionResultsOption = analyzerConfig.getAssertionResultsOption();
- this.reportURI = analyzerConfig.getReportLocation();
- this.replaceReport = analyzerConfig.getReplaceReport();
- this.logURI = analyzerConfig.getLogLocation();
- this.correlationType = analyzerConfig.getCorrelationType();
- this.testAssertionsDocumentURI =
- analyzerConfig.getTestAssertionsDocumentLocation();
- this.addStyleSheet = analyzerConfig.getAddStyleSheet();
- this.wsdlReference = analyzerConfig.getWSDLReference();
- this.uddiReference = analyzerConfig.getUDDIReference();
- }
-
- /**
- * Parse command line arguments.
- */
- public void parseArgs(String[] args, boolean validate) throws WSIException
- {
- WSDLReference wsdlReference = null;
- UDDIReference uddiReference = null;
-
- // Get new config reader
- AnalyzerConfigReader analyzerConfigReader = new AnalyzerConfigReaderImpl();
- analyzerConfigReader.init(this.messageList);
-
- // Analyzer config object which will be merged after all of the input parms are processed
- AnalyzerConfig analyzerConfigFromArgs = null;
-
- // Assertion results option
- AssertionResultsOption assertionResultsOption = null;
-
- // If no input arguments, then throw exception
- if (args.length == 0)
- {
- // ADD:
- throw new IllegalArgumentException(
- getMessage("usage01", Analyzer.USAGE_MESSAGE));
- }
-
- // Parse the command line arguments to locate the config file option (if it was specified)
- for (int argCount = 0; argCount < args.length; argCount++)
- {
- // -config
- if ((args[argCount].equalsIgnoreCase("-config"))
- || (args[argCount].equals("-c")))
- {
- argCount++;
- analyzerConfigFromArgs =
- analyzerConfigReader.readAnalyzerConfig(
- getOptionValue(args, argCount));
- }
- }
-
- // If config file was not specified, then create analyzer config object
- if (analyzerConfigFromArgs == null)
- {
- analyzerConfigFromArgs = new AnalyzerConfigImpl();
- analyzerConfigFromArgs.init(this.messageList);
- }
-
- // Get assertion results option
- if ((assertionResultsOption =
- analyzerConfigFromArgs.getAssertionResultsOption())
- == null)
- {
- assertionResultsOption = new AssertionResultsOptionImpl();
- analyzerConfigFromArgs.setAssertionResultsOption(assertionResultsOption);
- }
-
- // Parse all of the command line arguments
- for (int argCount = 0; argCount < args.length; argCount++)
- {
- // -config
- if ((args[argCount].equalsIgnoreCase("-config"))
- || (args[argCount].equals("-c")))
- {
- // Skip this option since it was already processed
- argCount++;
- }
-
- // -verbose
- else if (
- (args[argCount].equalsIgnoreCase("-verbose"))
- || (args[argCount].equals("-v")))
- {
- argCount++;
- analyzerConfigFromArgs.setVerboseOption(
- Boolean.valueOf(getOptionValue(args, argCount)).booleanValue());
- }
-
- // -assertionResults
- else if (
- (args[argCount].equalsIgnoreCase("-assertionResults"))
- || (args[argCount].equals("-a")))
- {
- argCount++;
- assertionResultsOption.setAssertionResultType(
- AssertionResultType.newInstance(getOptionValue(args, argCount)));
- }
-
- // -messageEntry
- else if (
- (args[argCount].equalsIgnoreCase("-messageEntry"))
- || (args[argCount].equals("-M")))
- {
- argCount++;
- assertionResultsOption.setShowMessageEntry(
- Boolean.valueOf(getOptionValue(args, argCount)).booleanValue());
- }
-
- // -assertionDescription
- else if (
- (args[argCount].equalsIgnoreCase("-assertionDescription"))
- || (args[argCount].equals("-A")))
- {
- argCount++;
- assertionResultsOption.setShowAssertionDescription(
- Boolean.valueOf(args[argCount]).booleanValue());
- }
-
- // -failureMessage
- else if (
- (args[argCount].equalsIgnoreCase("-failureMessage"))
- || (args[argCount].equals("-F")))
- {
- argCount++;
- assertionResultsOption.setShowFailureMessage(
- Boolean.valueOf(getOptionValue(args, argCount)).booleanValue());
- }
-
- // -failureDetail
- else if (
- (args[argCount].equalsIgnoreCase("-failureDetail"))
- || (args[argCount].equals("-D")))
- {
- argCount++;
- assertionResultsOption.setShowFailureDetail(
- Boolean.valueOf(getOptionValue(args, argCount)).booleanValue());
- }
-
- // -logFile
- else if (
- (args[argCount].equalsIgnoreCase("-logFile"))
- || (args[argCount].equals("-l")))
- {
- argCount++;
- analyzerConfigFromArgs.setLogLocation(getOptionValue(args, argCount));
- }
-
- // -testAssertionFile
- else if (
- (args[argCount].equalsIgnoreCase("-testAssertionFile"))
- || (args[argCount].equals("-t")))
- {
- argCount++;
- analyzerConfigFromArgs.setTestAssertionsDocumentLocation(
- getOptionValue(args, argCount));
- }
-
- // -reportFile
- else if (
- (args[argCount].equalsIgnoreCase("-reportFile"))
- || (args[argCount].equals("-r")))
- {
- argCount++;
- analyzerConfigFromArgs.setReportLocation(
- getOptionValue(args, argCount));
- }
-
- // -replace
- else if (
- (args[argCount].equalsIgnoreCase("-replace"))
- || (args[argCount].equals("-R")))
- {
- argCount++;
- analyzerConfigFromArgs.setReplaceReport(
- Boolean.valueOf(getOptionValue(args, argCount)).booleanValue());
- }
-
- // -correlationType
- else if (
- (args[argCount].equalsIgnoreCase("-correlationType"))
- || (args[argCount].equals("-C")))
- {
- argCount++;
- analyzerConfigFromArgs.setCorrelationType(
- getOptionValue(args, argCount));
- }
-
- // -wsdlElement
- else if (
- (args[argCount].equalsIgnoreCase("-wsdlElement"))
- || (args[argCount].equals("-W")))
- {
- String optionName = args[argCount];
- argCount++;
-
- WSDLElement wsdlElement = new WSDLElementImpl();
- wsdlElement.setName(getOptionValue(args, argCount, optionName));
- argCount++;
- wsdlElement.setType(getOptionValue(args, argCount, optionName));
- argCount++;
- wsdlElement.setNamespace(getOptionValue(args, argCount, optionName));
- if (!args[argCount].startsWith("-"))
- {
- argCount++;
- wsdlElement.setParentElementName(
- getOptionValue(args, argCount, optionName));
- }
-
- if (wsdlReference != null)
- {
- wsdlReference.setWSDLElement(wsdlElement);
- }
- else if (uddiReference != null)
- {
- uddiReference.setWSDLElement(wsdlElement);
- }
- else
- {
- throw new IllegalArgumentException(
- getMessage(
- "config10",
- "The -wsdlElement option must appear after the -wsdlURI or -uddiKey options."));
- }
-
- analyzerConfigFromArgs.setWSDLReference(wsdlReference);
- }
-
- // -serviceLocation
- else if (
- (args[argCount].equalsIgnoreCase("-serviceLocation"))
- || (args[argCount].equals("-S")))
- {
- argCount++;
-
- if (wsdlReference != null)
- {
- wsdlReference.setServiceLocation(getOptionValue(args, argCount));
- }
- else if (uddiReference != null)
- {
- uddiReference.setServiceLocation(getOptionValue(args, argCount));
- }
- else
- {
- throw new IllegalArgumentException(
- getMessage(
- "config11",
- "The -serviceLocation option must appear after the -wsdlURI or -uddiKey options."));
- }
- }
-
- // -wsdlURI
- else if (
- (args[argCount].equalsIgnoreCase("-wsdlURI"))
- || (args[argCount].equals("-W")))
- {
- argCount++;
- if (wsdlReference == null)
- wsdlReference = new WSDLReferenceImpl();
- wsdlReference.setWSDLLocation(getOptionValue(args, argCount));
- analyzerConfigFromArgs.setWSDLReference(wsdlReference);
- }
-
- // -uddiKeyType
- else if (
- (args[argCount].equalsIgnoreCase("-uddiKeyType"))
- || (args[argCount].equals("-K")))
- {
- argCount++;
- if (uddiReference == null)
- uddiReference = new UDDIReferenceImpl();
- uddiReference.setKeyType(getOptionValue(args, argCount));
- analyzerConfigFromArgs.setUDDIReference(uddiReference);
- }
-
- // -uddiKey
- else if (
- (args[argCount].equalsIgnoreCase("-uddiKey"))
- || (args[argCount].equals("-k")))
- {
- argCount++;
- if (uddiReference == null)
- uddiReference = new UDDIReferenceImpl();
- uddiReference.setKey(getOptionValue(args, argCount));
- analyzerConfigFromArgs.setUDDIReference(uddiReference);
- }
-
- // -inquiryURL
- else if (
- (args[argCount].equalsIgnoreCase("-inquiryURL"))
- || (args[argCount].equals("-i")))
- {
- argCount++;
- if (uddiReference == null)
- uddiReference = new UDDIReferenceImpl();
- uddiReference.setInquiryURL(getOptionValue(args, argCount));
- analyzerConfigFromArgs.setUDDIReference(uddiReference);
- }
-
- // ADD: Need to add support for other options (-config, -binding, etc.)
- else
- {
- throw new IllegalArgumentException(
- getMessage(
- "config12",
- args[argCount],
- "The specified option is not supported:"));
- }
- }
-
- // If addStyleSheet was not specified, then create a comment version of it
- if (analyzerConfigFromArgs.getAddStyleSheet() == null)
- {
- AddStyleSheet addStyleSheet = new AddStyleSheetImpl();
- addStyleSheet.setHref(WSIConstants.DEFAULT_REPORT_XSL);
- addStyleSheet.setType(WSIConstants.DEFAULT_XSL_TYPE);
- addStyleSheet.setComment(true);
- analyzerConfigFromArgs.setAddStyleSheet(addStyleSheet);
- }
-
- // Merge config info into this object
- setConfig(analyzerConfigFromArgs);
-
- if (validate)
- {
- // Verify that all required options were specified and
- // that the specified ones were correct
- checkConfigOptions();
- }
- }
-
- /**
- * Verify config options.
- */
- private void checkConfigOptions() throws WSIException
- {
- String fileLocation;
-
- // If wsdlReference and uddiReference specified, then throw exception
- if ((this.isWSDLReferenceSet()) && (this.isUDDIReferenceSet()))
- {
- throw new IllegalArgumentException(
- getMessage(
- "config04",
- "Can not specify both the WSDL reference and UDDI reference options"));
- }
-
- // Check if test assertion file exists
- if ((fileLocation = this.getTestAssertionsDocumentLocation()) == null)
- {
- throw new IllegalArgumentException(
- getMessage(
- "config16",
- "Test assertion document location must be specified."));
- }
-
- else if (!Utils.fileExists(fileLocation))
- {
- throw new IllegalArgumentException(
- getMessage(
- "config14",
- fileLocation,
- "Could not find test assertion document. Specified file location:"));
- }
-
- // Check if log file exists
- if ((fileLocation = this.getLogLocation()) != null)
- {
- if (!Utils.fileExists(fileLocation))
- throw new IllegalArgumentException(
- messageList.getMessage(
- "config02",
- fileLocation,
- "Could not find log file:"));
- }
-
- // Check if WSDL file exists
- if ((this.getWSDLReference() != null)
- && (fileLocation = this.getWSDLReference().getWSDLLocation()) != null)
- {
- if (!Utils.fileExists(fileLocation))
- throw new IllegalArgumentException(
- messageList.getMessage(
- "config03",
- fileLocation,
- "Could not find WSDL file:"));
- }
-
- File file = null;
- try
- {
- // Get file object for report file
- file = new File(this.getReportLocation());
- }
-
- catch (Exception e)
- {
- throw new IllegalArgumentException(
- messageList.getMessage(
- "config17",
- "Could not get report file location."));
- }
-
- // If replace flag is false and file exists, then throw exception
- if (file.exists() && !this.getReplaceReport())
- {
- throw new IllegalArgumentException(
- messageList.getMessage(
- "config15",
- "Report file already exists and replace option was not specified."));
- }
-
- if (correlationType != null
- && !this.correlationType.equals(
- WSIConstants.ATTRVAL_CORRELATION_TYPE_ENDPOINT)
- && !this.correlationType.equals(
- WSIConstants.ATTRVAL_CORRELATION_TYPE_NAMESPACE)
- && !this.correlationType.equals(
- WSIConstants.ATTRVAL_CORRELATION_TYPE_OPERATION))
- {
- throw new IllegalArgumentException(
- messageList.getMessage(
- "config18",
- "Invalid correlation type specified."));
- }
- }
-
- /**
- * Get option value.
- */
- private String getOptionValue(String[] args, int index) throws WSIException
- {
- return getOptionValue(args, index, args[index - 1]);
- }
-
- /**
- * Get option value.
- */
- private String getOptionValue(String[] args, int index, String optionName)
- throws WSIException
- {
- // If index greater than array length, then throw exception
- if (index >= args.length)
- {
- throw new IllegalArgumentException(
- getMessage(
- "config13",
- optionName,
- "Option did not contain a value. Specified option:"));
- }
-
- // If the value is an option (i.e. starts with a "-"), then throw exception
- if (args[index].startsWith("-"))
- {
- throw new IllegalArgumentException(
- getMessage(
- "config13",
- optionName,
- "Option did not contain a value. Specified option:"));
- }
-
- return (args[index]);
- }
-
- /**
- * Get message from resource bundle.
- */
- private String getMessage(String messageID, String defaultMessage)
- {
- return getMessage(messageID, null, defaultMessage);
- }
-
- /**
- * Get message from resource bundle.
- */
- private String getMessage(
- String messageID,
- String messageData,
- String defaultMessage)
- {
- String message = defaultMessage;
- if (messageList != null)
- message = messageList.getMessage(messageID, messageData, defaultMessage);
- else if (messageData != null)
- message += " " + messageData + ".";
-
- return message;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AnalyzerConfigReaderImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AnalyzerConfigReaderImpl.java
deleted file mode 100644
index 1a4de8679..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AnalyzerConfigReaderImpl.java
+++ /dev/null
@@ -1,559 +0,0 @@
-/*******************************************************************************
- * 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.analyzer.config.impl;
-
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.List;
-
-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.AnalyzerConfig;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfigReader;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultType;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultsOption;
-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.WSDLReference;
-import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet;
-import org.eclipse.wst.wsi.internal.core.common.impl.AddStyleSheetImpl;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-import org.eclipse.wst.wsi.internal.core.util.MessageList;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * This class is the implementation used to read the analyzer config documents.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class AnalyzerConfigReaderImpl implements AnalyzerConfigReader
-{
- /**
- * Message list.
- */
- protected MessageList messageList;
-
- /**
- * Document location.
- */
- protected String documentURI;
-
- /**
- * Initialize analyzer config reader.
- */
- public void init(MessageList messageList)
- {
- this.messageList = messageList;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfigReader#readAnalyzerConfig(String)
- */
- public AnalyzerConfig readAnalyzerConfig(String analyzerConfigURI)
- throws WSIException
- {
- FileReader fileReader = null;
- try
- {
- fileReader = new FileReader(analyzerConfigURI);
- }
-
- catch (FileNotFoundException fnfe)
- {
- throw new WSIFileNotFoundException(
- getMessage(
- "config01",
- analyzerConfigURI,
- "Could not find analyzer config file: "),
- fnfe);
- }
-
- catch (Exception e)
- {
- throw new WSIException(
- getMessage(
- "config08",
- analyzerConfigURI,
- "Could not read analyzer config file: "),
- e);
- }
-
- return readAnalyzerConfig(fileReader);
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfigReader#readAnalyzerConfig(Reader)
- */
- public AnalyzerConfig readAnalyzerConfig(Reader reader) throws WSIException
- {
- AnalyzerConfig analyzerConfig = new AnalyzerConfigImpl();
-
- // Parse XML
- Document doc = XMLUtils.parseXML(reader);
-
- // Parse elements in the config document
- parseConfigElement(analyzerConfig, doc.getDocumentElement());
-
- return analyzerConfig;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.document.DocumentReader#getLocation()
- */
- public String getLocation()
- {
- return this.documentURI;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.document.DocumentReader#setLocation(String)
- */
- public void setLocation(String documentURI)
- {
- this.documentURI = documentURI;
- }
-
- /**
- * Parse config element.
- */
- private void parseConfigElement(
- AnalyzerConfig analyzerConfig,
- Element element)
- throws WSIException
- {
- // ADD: Get name and version
-
- // ADD: Verify that this is the config element
-
- // Get first child element
- Element nextElement = XMLUtils.getFirstChild(element);
-
- // DEBUG:
- //System.out.println("Element name: " + nextElement.getClass().getName());
-
- // Process each child element
- while (nextElement != null)
- {
- // <description>
- if (isElement(nextElement, WSIConstants.ELEM_DESCRIPTION))
- {
- analyzerConfig.setDescription(XMLUtils.getText(nextElement));
- }
-
- // <verbose>
- else if (isElement(nextElement, WSIConstants.ELEM_VERBOSE))
- {
- analyzerConfig.setVerboseOption(
- XMLUtils.getBooleanValue(nextElement, false));
- }
-
- // <assertionResults>
- else if (isElement(nextElement, WSIConstants.ELEM_ASSERTION_RESULTS))
- {
- // Create assertion results option object
- AssertionResultsOption assertionResultsOption =
- new AssertionResultsOptionImpl();
- analyzerConfig.setAssertionResultsOption(assertionResultsOption);
-
- // Set result type
- String resultType =
- XMLUtils.getAttributeValue(nextElement, WSIConstants.ATTR_TYPE);
- assertionResultsOption.setAssertionResultType(
- AssertionResultType.newInstance(resultType));
-
- // Set show log entry
- assertionResultsOption.setShowMessageEntry(
- XMLUtils.getBooleanValue(
- nextElement,
- WSIConstants.ATTR_MESSAGE_ENTRY,
- assertionResultsOption.getShowMessageEntry()));
-
- // Set show failure message
- assertionResultsOption.setShowFailureMessage(
- XMLUtils.getBooleanValue(
- nextElement,
- WSIConstants.ATTR_FAILURE_MESSAGE,
- assertionResultsOption.getShowFailureMessage()));
-
- // Set show failure detail
- assertionResultsOption.setShowFailureDetail(
- XMLUtils.getBooleanValue(
- nextElement,
- WSIConstants.ATTR_FAILURE_DETAIL,
- assertionResultsOption.getShowFailureDetail()));
-
- // REMOVE: Set show warning message
- //assertionResultsOption.setShowWarningMessage(XMLUtils.getBooleanValue(nextElement,
- // WSIConstants.ATTR_WARNING_MESSAGE, assertionResultsOption.getShowWarningMessage()));
- }
-
- // <reportFile>
- else if (isElement(nextElement, WSIConstants.ELEM_REPORT_FILE))
- {
- parseReportFileElement(analyzerConfig, nextElement);
- }
-
- // <testAssertionFile>
- else if (isElement(nextElement, WSIConstants.ELEM_TEST_ASSERTIONS_FILE))
- {
- analyzerConfig.setTestAssertionsDocumentLocation(
- XMLUtils.getText(nextElement));
- }
-
- // <logFile>
- else if (isElement(nextElement, WSIConstants.ELEM_LOG_FILE))
- {
- String correlationType =
- XMLUtils.getAttributeValue(
- nextElement,
- WSIConstants.ATTR_CORRELATION_TYPE);
- analyzerConfig.setCorrelationType(
- correlationType == null ? "operation" : correlationType);
- analyzerConfig.setLogLocation(XMLUtils.getText(nextElement));
- }
-
- // <wsdlReference>
- else if (isElement(nextElement, WSIConstants.ELEM_WSDL_REFERENCE))
- {
- parseWsdlReference(analyzerConfig, nextElement);
- }
-
- // <uddiReference>
- else if (isElement(nextElement, WSIConstants.ELEM_UDDI_REFERENCE))
- {
- parseUddiReference(analyzerConfig, nextElement);
- }
-
- else
- {
- // Throw exception
- throw new IllegalArgumentException(
- getMessage(
- "config06",
- nextElement.getLocalName(),
- "Invalid analyzer config element:"));
- }
-
- // Get next element
- nextElement = XMLUtils.getNextSibling(nextElement);
- }
- }
-
- /**
- * Parse reportFile element.
- */
- private void parseReportFileElement(
- AnalyzerConfig analyzerConfig,
- Element element)
- throws WSIException
- {
- // Get report location and replace indicator
- analyzerConfig.setReplaceReport(
- XMLUtils.getBooleanValue(element, WSIConstants.ATTR_REPLACE, false));
- analyzerConfig.setReportLocation(
- XMLUtils.getAttributeValue(
- element,
- WSIConstants.ATTR_LOCATION,
- WSIConstants.DEFAULT_REPORT_URI));
-
- // ADD: If the report location wasn't specified, then throw an exception
- //if (analyzerConfig.getReportLocation() == null)
- // throw new WSIException("The analyzer configuration file must contain the report file location.");
-
- // Get first child element
- Element nextElement = XMLUtils.getFirstChild(element);
-
- // Process each child element
- while (nextElement != null)
- {
- // <addStyleSheet>
- if (isElement(nextElement, WSIConstants.ELEM_ADD_STYLE_SHEET))
- {
- AddStyleSheet addStyleSheet = new AddStyleSheetImpl();
-
- // Parse the element
- TestUtils.parseAddStyleSheet(
- nextElement,
- addStyleSheet,
- WSIConstants.DEFAULT_REPORT_XSL);
-
- // Set add style sheet
- analyzerConfig.setAddStyleSheet(addStyleSheet);
- }
-
- else
- {
- // Throw exception
- throw new IllegalArgumentException(
- getMessage(
- "config06",
- nextElement.getLocalName(),
- "Invalid analyzer config element:"));
- }
-
- // Get next element
- nextElement = XMLUtils.getNextSibling(nextElement);
- }
- }
-
- /**
- * Parse wsdl reference element.
- */
- private void parseWsdlReference(
- AnalyzerConfig analyzerConfig,
- Element element)
- throws WSIException
- {
- // Create UDDI reference
- WSDLReference wsdlReference = new WSDLReferenceImpl();
-
- // Set WSDL reference
- analyzerConfig.setWSDLReference(wsdlReference);
-
- // Get first child element
- Element nextElement = XMLUtils.getFirstChild(element);
-
- // Process each child element
- while (nextElement != null)
- {
- // <wsdlURI>
- if (isElement(nextElement, WSIConstants.ELEM_WSDL_URI))
- {
- // Set WSDL location
- wsdlReference.setWSDLLocation(XMLUtils.getText(nextElement));
- }
-
- // <serviceLocation>
- else if (isElement(nextElement, WSIConstants.ELEM_SERVICE_LOCATION))
- {
- // Set service location
- wsdlReference.setServiceLocation(XMLUtils.getText(nextElement));
- }
-
- // <wsdlElement>
- else if (isElement(nextElement, WSIConstants.ELEM_WSDL_ELEMENT))
- {
- // Set WSDL element
- wsdlReference.setWSDLElement(parseWsdlElement(nextElement));
- }
-
- else
- {
- // Throw exception
- throw new IllegalArgumentException(
- getMessage(
- "config06",
- nextElement.getLocalName(),
- "Invalid analyzer config element:"));
- }
-
- // Get next element
- nextElement = XMLUtils.getNextSibling(nextElement);
- }
-
- // If WSDL element or WSL URI not specified, then throw exception
- if ((wsdlReference.getWSDLElement() == null)
- || (wsdlReference.getWSDLLocation() == null))
- {
- throw new IllegalArgumentException(
- getMessage(
- "config07",
- "Both the <wsdlElement> and <wsdlURI> elements must be specified."));
- }
-
- // If type is port or operation, then parent element name must be specified
- if (((wsdlReference
- .getWSDLElement()
- .getType()
- .equalsIgnoreCase(EntryType.TYPE_DESCRIPTION_PORT))
- || (wsdlReference
- .getWSDLElement()
- .getType()
- .equalsIgnoreCase(EntryType.TYPE_DESCRIPTION_OPERATION)))
- && (wsdlReference.getWSDLElement().getParentElementName() == null))
- {
- throw new IllegalArgumentException(
- getMessage(
- "config09",
- "The parentElementName attribute must be specified with a WSDL type of "
- + EntryType.TYPE_DESCRIPTION_PORT
- + " or "
- + EntryType.TYPE_DESCRIPTION_OPERATION
- + "."));
- }
- }
-
- /**
- * Parse uddi reference.
- */
- private void parseUddiReference(
- AnalyzerConfig analyzerConfig,
- Element element)
- throws WSIException
- {
- // Create UDDI reference
- UDDIReference uddiReference = new UDDIReferenceImpl();
-
- // Set UDDI reference
- analyzerConfig.setUDDIReference(uddiReference);
-
- // Get first child element
- Element nextElement = XMLUtils.getFirstChild(element);
-
- // Process each child element
- while (nextElement != null)
- {
- // <inquiryURL>
- if (isElement(nextElement, WSIConstants.ELEM_INQUIRY_URL))
- {
- // Set inquiry URL
- uddiReference.setInquiryURL(XMLUtils.getText(nextElement));
- }
-
- // <uddiKey>
- else if (isElement(nextElement, WSIConstants.ELEM_UDDI_KEY))
- {
- // Set UDDI key and key type
- uddiReference.setKey(XMLUtils.getText(nextElement));
- uddiReference.setKeyType(
- XMLUtils.getAttributeValue(nextElement, WSIConstants.ATTR_TYPE));
- }
-
- // <wsdlElement>
- else if (isElement(nextElement, WSIConstants.ELEM_WSDL_ELEMENT))
- {
- // Set WSDL element
- uddiReference.setWSDLElement(parseWsdlElement(nextElement));
- }
-
- // <serviceLocation>
- else if (isElement(nextElement, WSIConstants.ELEM_SERVICE_LOCATION))
- {
- // Set service location
- uddiReference.setServiceLocation(XMLUtils.getText(nextElement));
- }
-
- /* REMOVE:
- // <wsdlElement>
- else if (isElement(nextElement, WSIConstants.ELEM_WSDL_ELEMENT)) {
- // Set service location
- parseWsdlElement(analyzerConfig, nextElement);
- }
- */
-
- else
- {
- // Throw exception
- throw new IllegalArgumentException(
- getMessage(
- "config06",
- nextElement.getLocalName(),
- "Invalid analyzer config element:"));
- }
-
- // Get next element
- nextElement = XMLUtils.getNextSibling(nextElement);
- }
- }
-
- /**
- * Parse WSDL element.
- */
- private WSDLElement parseWsdlElement(Element element) throws WSIException
- {
- WSDLElement wsdlElement = new WSDLElementImpl();
-
- // Set type, namespace, parent element name and name
- wsdlElement.setType(
- XMLUtils.getAttributeValue(element, WSIConstants.ATTR_TYPE));
- wsdlElement.setNamespace(
- XMLUtils.getAttributeValue(element, WSIConstants.ATTR_NAMESPACE));
- wsdlElement.setParentElementName(
- XMLUtils.getAttributeValue(
- element,
- WSIConstants.ATTR_PARENT_ELEMENT_NAME));
-
- String wsdlElementName = XMLUtils.getText(element);
- if (wsdlElementName.equals(""))
- {
- // Throw exception
- throw new IllegalArgumentException(
- getMessage("config19", "The WSDL element name must be specified."));
- }
- wsdlElement.setName(wsdlElementName);
-
- return wsdlElement;
- }
-
- /**
- * Determine if this element matches specified local name in the analyzer config namespace.
- */
- private boolean isElement(Element element, String localName)
- {
- return isElement(
- element,
- getValidWSIAnalyzerConfigNamespaces(),
- localName);
- }
-
-
- static public List getValidWSIAnalyzerConfigNamespaces()
- {
- ArrayList list = new ArrayList();
- list.add(WSIConstants.NS_URI_WSI_ANALYZER_CONFIG_2003);
- list.add(WSIConstants.NS_URI_WSI_ANALYZER_CONFIG);
- return list;
- }
-
- /**
- * Determine if this element matches specified local name in the analyzer config namespace.
- */
- private boolean isElement(
- Element element,
- List namespaces,
- String localName)
- {
- return XMLUtils.isElement(element, namespaces, localName);
- }
-
- /**
- * Get message from resource bundle.
- */
- private String getMessage(String messageID, String defaultMessage)
- {
- return getMessage(messageID, null, defaultMessage);
- }
-
- /**
- * Get message from resource bundle.
- */
- private String getMessage(
- String messageID,
- String messageData,
- String defaultMessage)
- {
- String message = defaultMessage;
- if (messageList != null)
- message = messageList.getMessage(messageID, messageData, defaultMessage);
- else
- message += " " + messageData + ".";
-
- return message;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AssertionResultsOptionImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AssertionResultsOptionImpl.java
deleted file mode 100644
index fbe3d0f74..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AssertionResultsOptionImpl.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2003 IBM Corporation, Parasoft 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
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.analyzer.config.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultType;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultsOption;
-
-/**
- * This class contains the assertion results option definition.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class AssertionResultsOptionImpl implements AssertionResultsOption
-{
- /**
- * Assertion result type.
- */
- protected AssertionResultType resultType = AssertionResultType.ALL;
-
- /**
- * Show message entry indicator.
- */
- protected boolean showMessageEntry = true;
-
- /**
- * Show assertion description indicator.
- */
- protected boolean showAssertionDescription = false;
-
- /**
- * Show failure message indicator.
- */
- protected boolean showFailureMessage = true;
-
- /**
- * Show failure detail indicator.
- */
- protected boolean showFailureDetail = true;
-
- /**
- * Get assertion result type.
- * @see #setAssertionResultType
- */
- public AssertionResultType getAssertionResultType()
- {
- return resultType;
- }
-
- /**
- * Set assertion result type.
- * @see #getAssertionResultType
- */
- public void setAssertionResultType(AssertionResultType resultType)
- {
- this.resultType = resultType;
- }
-
- /**
- * Get show message entry indicator.
- * @see #setShowMessageEntry
- */
- public boolean getShowMessageEntry()
- {
- return this.showMessageEntry;
- }
-
- /**
- * Set show message entry indictor.
- * @see #getShowMessageEntry
- */
- public void setShowMessageEntry(boolean showMessageEntry)
- {
- this.showMessageEntry = showMessageEntry;
- }
-
- /**
- * Get show assertion description indicator.
- * @see #setShowAssertionDescription
- */
- public boolean getShowAssertionDescription()
- {
- return this.showAssertionDescription;
- }
-
- /**
- * Set show assertion description indictor.
- * @see #getShowAssertionDescription
- */
- public void setShowAssertionDescription(boolean showAssertionDescription)
- {
- this.showAssertionDescription = showAssertionDescription;
- }
-
- /**
- * Get show failure message indicator.
- * @see #setShowFailureMessage
- */
- public boolean getShowFailureMessage()
- {
- return this.showFailureMessage;
- }
-
- /**
- * Set show failure mesage indicator.
- * @see #getShowFailureMessage
- */
- public void setShowFailureMessage(boolean showFailureMessage)
- {
- this.showFailureMessage = showFailureMessage;
- }
-
- /**
- * Get show failure detail indicator.
- * @see #setShowFailureDetail
- */
- public boolean getShowFailureDetail()
- {
- return this.showFailureDetail;
- }
-
- /**
- * Set show failure detail indicator.
- * @see #getShowFailureDetail
- */
- public void setShowFailureDetail(boolean showFailureDetail)
- {
- this.showFailureDetail = showFailureDetail;
- }
-
- /**
- * Get string representation of this object.
- */
- public String toString()
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- pw.println(" Assertion Results:");
- pw.println(" type ..................... " + this.resultType);
- pw.println(" messageEntry ............. " + this.showMessageEntry);
- pw.println(
- " assertionDescription ..... " + this.showAssertionDescription);
- pw.println(" failureMessage ........... " + this.showFailureMessage);
- pw.println(" failureDetail ............ " + this.showFailureDetail);
-
- return sw.toString();
- }
-
- /**
- * Get representation of this object as an XML string.
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- // Config options
- pw.print(" <" + nsName + WSIConstants.ELEM_ASSERTION_RESULTS + " ");
- pw.print(WSIConstants.ATTR_TYPE + "=\"" + getAssertionResultType() + "\" ");
- pw.print(
- WSIConstants.ATTR_MESSAGE_ENTRY + "=\"" + getShowMessageEntry() + "\" ");
- pw.print(
- WSIConstants.ATTR_ASSERTION_DESCRIPTION
- + "=\""
- + getShowAssertionDescription()
- + "\" ");
- pw.print(
- WSIConstants.ATTR_FAILURE_MESSAGE
- + "=\""
- + getShowFailureMessage()
- + "\" ");
- pw.println(
- WSIConstants.ATTR_FAILURE_DETAIL
- + "=\""
- + getShowFailureDetail()
- + "\"/>");
- // REMOVE:
- //pw.println(WSIConstants.ATTR_WARNING_MESSAGE + "=\"" + getShowWarningMessage() + "\"/>");
-
- return sw.toString();
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/UDDIReferenceImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/UDDIReferenceImpl.java
deleted file mode 100644
index 8dc7b6c72..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/UDDIReferenceImpl.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- *
- * 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.analyzer.config.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.UDDIReference;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
-
-/**
- * The iimplementation for a reference to a discovery artifact.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class UDDIReferenceImpl implements UDDIReference
-{
- /**
- * UDDI key type.
- */
- protected String keyType = null;
-
- /**
- * UDDI key.
- */
- protected String key = null;
-
- /**
- * UDDI inquiry URL.
- */
- protected String inquiryURL = null;
-
- /**
- * WSDL element.
- */
- protected WSDLElement wsdlElement = null;
-
- /**
- * Service location.
- */
- protected String serviceLocation = null;
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.UDDIReference#getKeyType()
- */
- public String getKeyType()
- {
- return this.keyType;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.UDDIReference#setKeyType(String)
- */
- public void setKeyType(String keyType)
- {
- if (keyType.equals(BINDING_KEY) || keyType.equals(TMODEL_KEY))
- this.keyType = keyType;
- else
- throw new IllegalArgumentException(
- "Invalid UDDI key type: [" + keyType + "].");
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.UDDIReference#getKey()
- */
- public String getKey()
- {
- return this.key;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.UDDIReference#setKey(String)
- */
- public void setKey(String key)
- {
- this.key = key;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.UDDIReference#getInquiryURL()
- */
- public String getInquiryURL()
- {
- return this.inquiryURL;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.UDDIReference#setInquiryURL(String)
- */
- public void setInquiryURL(String inquiryURL)
- {
- this.inquiryURL = inquiryURL;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference#getWSDLElement()
- */
- public WSDLElement getWSDLElement()
- {
- return this.wsdlElement;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference#setWSDLElement(WSDLElement)
- */
- public void setWSDLElement(WSDLElement wsdlElement)
- {
- this.wsdlElement = wsdlElement;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference#getServiceLocation()
- */
- public String getServiceLocation()
- {
- return this.serviceLocation;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference#setServiceLocation()
- */
- public void setServiceLocation(String serviceLocation)
- {
- this.serviceLocation = serviceLocation;
- }
-
- /**
- * Get string representation of this object.
- */
- public String toString()
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- pw.println(" UDDI Reference: ");
- pw.println(" UDDI Key: ");
- pw.println(" type ................... " + this.keyType);
- pw.println(" key .................... " + this.key);
- pw.println(" inquiryURL ............... " + this.inquiryURL);
- if (this.serviceLocation != null)
- pw.println(" serviceLocation .......... " + this.serviceLocation);
- if (this.wsdlElement != null)
- pw.print(this.wsdlElement.toString());
-
- return sw.toString();
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.document.DocumentElement#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- // Element
- pw.println(" <" + nsName + ELEM_NAME + ">");
- pw.print(" <" + nsName + WSIConstants.ELEM_UDDI_KEY + " ");
- pw.print(WSIConstants.ATTR_TYPE + "=\"" + getKeyType() + "\">");
- pw.print(getKey());
- pw.println("</" + nsName + WSIConstants.ELEM_UDDI_KEY + ">");
- pw.print(" <" + nsName + WSIConstants.ELEM_INQUIRY_URL + ">");
- pw.print(getInquiryURL());
- pw.println("</" + nsName + WSIConstants.ELEM_INQUIRY_URL + ">");
-
- if (this.wsdlElement != null)
- pw.print(getWSDLElement().toXMLString(nsName));
-
- if (this.serviceLocation != null)
- {
- pw.print(" <" + nsName + WSIConstants.ELEM_SERVICE_LOCATION + ">");
- pw.print(getServiceLocation());
- pw.println(
- " </" + nsName + WSIConstants.ELEM_SERVICE_LOCATION + ">");
- }
-
- pw.println(" </" + nsName + ELEM_NAME + ">");
-
- return sw.toString();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/WSDLElementImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/WSDLElementImpl.java
deleted file mode 100644
index ff14b85d9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/WSDLElementImpl.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * 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.analyzer.config.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-
-/**
- * The implementation for WSDL definitions.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class WSDLElementImpl implements WSDLElement
-{
- protected String type;
- protected String namespace;
- protected String name;
- protected String parentElementName;
-
- /**
- * @see #setType
- */
- public String getType()
- {
- return this.type;
- }
-
- /**
- * @see #getType
- */
- public void setType(String type)
- {
- this.type = type;
- }
-
- /**
- * @see #setNamespace
- */
- public String getNamespace()
- {
- return this.namespace;
- }
-
- /**
- * @see #getNamespace
- */
- public void setNamespace(String namespace)
- {
- this.namespace = namespace;
- }
-
- /**
- * @see #setName
- */
- public String getName()
- {
- return this.name;
- }
-
- /**
- * @see #getName
- */
- public void setName(String name)
- {
- this.name = name;
- }
-
- public QName getQName()
- {
- return new QName(this.namespace, this.name);
- }
-
- /**
- * Get WSDL parent element name.
- * @see #setParentElementName
-
- */
- public String getParentElementName()
- {
- return this.parentElementName;
- }
-
- /**
- * Set WSDL parent element name.
- * @see #getParentElementName
- */
- public void setParentElementName(String parentElementName)
- {
- this.parentElementName = parentElementName;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.analyzer.config.WSDLElement#getParentElementQName()
- */
- public QName getParentElementQName()
- {
- return new QName(this.namespace, this.parentElementName);
- }
-
- /**
- * Is port element.
- */
- public boolean isPort()
- {
- return type.equals(EntryType.TYPE_DESCRIPTION_PORT);
- }
-
- /**
- * Is binding element.
- */
- public boolean isBinding()
- {
- return type.equals(EntryType.TYPE_DESCRIPTION_BINDING);
- }
-
- /**
- * Is portType element.
- */
- public boolean isPortType()
- {
- return type.equals(EntryType.TYPE_DESCRIPTION_PORTTYPE);
- }
-
- /**
- * Is operation element.
- */
- public boolean isOperation()
- {
- return type.equals(EntryType.TYPE_DESCRIPTION_OPERATION);
- }
-
- /**
- * Is message element.
- */
- public boolean isMessage()
- {
- return type.equals(EntryType.TYPE_DESCRIPTION_MESSAGE);
- }
-
- /**
- * Get string representation of this object.
- */
- public String toString()
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- pw.println(" WSDL Element: ");
- pw.println(" type ................... " + this.type);
- pw.println(" namespace .............. " + this.namespace);
- pw.println(" name ................... " + this.name);
-
- if (this.parentElementName != null)
- pw.println(" parentElementName ...... " + this.parentElementName);
-
- return sw.toString();
- }
-
- /**
- * Get representation of this object as an XML string.
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- // Config options
- pw.print(" <" + nsName + ELEM_NAME + " ");
- pw.print(WSIConstants.ATTR_TYPE + "=\"" + getType() + "\" ");
- pw.print(WSIConstants.ATTR_NAMESPACE + "=\"" + getNamespace() + "\" ");
- if (this.parentElementName != null)
- pw.print(
- WSIConstants.ATTR_PARENT_ELEMENT_NAME
- + "=\""
- + getParentElementName()
- + "\"");
- pw.print(">");
- pw.print(getName());
- pw.println("</" + nsName + ELEM_NAME + ">");
-
- return sw.toString();
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/WSDLReferenceImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/WSDLReferenceImpl.java
deleted file mode 100644
index 64bff4363..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/WSDLReferenceImpl.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * 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.analyzer.config.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-
-/**
- * The implementation for a reference to a description artifact.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class WSDLReferenceImpl implements WSDLReference
-{
- /**
- * WSDL element.
- */
- protected WSDLElement wsdlElement = null;
-
- /**
- * Service location.
- */
- protected String serviceLocation = null;
-
- /**
- * WSDL document location.
- */
- protected String wsdlLocation = null;
-
- /**
- * Default constructor.
- */
- public WSDLReferenceImpl()
- {
- }
-
- /**
- * Constructor with all settings.
- * @param wsdlElement a WSDL element.
- * @param wsdlLocation a WSDL document location.
- * @param serviceLocation a service location.
- */
- public WSDLReferenceImpl(
- WSDLElement wsdlElement,
- String wsdlLocation,
- String serviceLocation)
- {
- this.wsdlElement = wsdlElement;
- this.wsdlLocation = wsdlLocation;
- this.serviceLocation = serviceLocation;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference#getWSDLElement()
- */
- public WSDLElement getWSDLElement()
- {
- return this.wsdlElement;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference#setWSDLElement(WSDLElement)
- */
- public void setWSDLElement(WSDLElement wsdlElement)
- {
- this.wsdlElement = wsdlElement;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference#getWSDLLocation()
- */
- public String getWSDLLocation()
- {
- return this.wsdlLocation;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference#setWSDLLocation()
- */
- public void setWSDLLocation(String wsdlLocation)
- {
- this.wsdlLocation = wsdlLocation;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference#getServiceLocation()
- */
- public String getServiceLocation()
- {
- return this.serviceLocation;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference#setServiceLocation()
- */
- public void setServiceLocation(String serviceLocation)
- {
- this.serviceLocation = serviceLocation;
- }
-
- /**
- * Get string representation of this object.
- */
- public String toString()
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- pw.println(" WSDL Reference:");
- pw.print(this.wsdlElement.toString());
- pw.println(" wsdlURI .................. " + this.wsdlLocation);
- if (this.serviceLocation != null)
- pw.println(" serviceLocation .......... " + this.serviceLocation);
-
- return sw.toString();
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.document.DocumentElement#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- // Element
- pw.println(" <" + nsName + ELEM_NAME + ">");
- pw.print(getWSDLElement().toXMLString(nsName));
- pw.print(" <" + nsName + WSIConstants.ELEM_WSDL_URI + ">");
- pw.print(getWSDLLocation());
- pw.println("</" + nsName + WSIConstants.ELEM_WSDL_URI + ">");
-
- if (this.serviceLocation != null)
- {
- pw.print(" <" + nsName + WSIConstants.ELEM_SERVICE_LOCATION + ">");
- pw.print(XMLUtils.xmlEscapedString(getServiceLocation()));
- pw.println("</" + nsName + WSIConstants.ELEM_SERVICE_LOCATION + ">");
- }
-
- pw.println(" </" + nsName + ELEM_NAME + ">");
-
- return sw.toString();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/common/AddStyleSheet.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/common/AddStyleSheet.java
deleted file mode 100644
index 0fdf7f90c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/common/AddStyleSheet.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * 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.common;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-
-/**
- * The interface for AddStyleSheet element.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface AddStyleSheet extends DocumentElement
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_ADD_STYLE_SHEET;
-
- /**
- * Get href.
- * @return href.
- * @see #setHref
- */
- public String getHref();
-
- /**
- * Set href.
- * @param href a href.
- * @see #getHref
- */
- public void setHref(String href);
-
- /**
- * Get type.
- * @return type.
- * @see #setType
- */
- public String getType();
-
- /**
- * Set type.
- * @param type a type.
- * @see #getType
- */
- public void setType(String type);
-
- /**
- * Get title.
- * @return title.
- * @see #setTitle
- */
- public String getTitle();
-
- /**
- * Set title.
- * @param title a title.
- * @see #getTitle
- */
- public void setTitle(String title);
-
- /**
- * Get media.
- * @return media.
- * @see #setMedia
- */
- public String getMedia();
-
- /**
- * Set title.
- * @param media media.
- * @see #getMedia
- */
- public void setMedia(String media);
-
- /**
- * Get charset.
- * @return charset.
- * @see #setCharset
- */
- public String getCharset();
-
- /**
- * Set charset.
- * @param charset charset.
- * @see #getCharset
- */
- public void setCharset(String charset);
-
- /**
- * Get alternate.
- * @return alternate.
- * @see #setAlternate
- */
- public String getAlternate();
-
- /**
- * Set alternate.
- * @param alternate alternate.
- * @see #getAlternate
- */
- public void setAlternate(String alternate);
-
- /**
- * Set if the style sheet declaration should be a comment.
- * @param comment a boolean.
- */
- public void setComment(boolean comment);
-
- /**
- * Get style sheet declaration.
- * @return style sheet declaration.
- */
- public String getStyleSheetString();
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/common/impl/AddStyleSheetImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/common/impl/AddStyleSheetImpl.java
deleted file mode 100644
index 9965d1696..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/common/impl/AddStyleSheetImpl.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*******************************************************************************
- * 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.common.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.TreeMap;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet;
-
-/**
- * The implementation for AddStyleSheet element.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class AddStyleSheetImpl implements AddStyleSheet
-{
- /**
- * Attribute values.
- */
- protected TreeMap attributeValueList = new TreeMap();
-
- /**
- * List of attributes.
- */
- protected String[] attributeNameList =
- {
- WSIConstants.ATTR_HREF,
- WSIConstants.ATTR_TYPE,
- WSIConstants.ATTR_TITLE,
- WSIConstants.ATTR_MEDIA,
- WSIConstants.ATTR_CHARSET,
- WSIConstants.ATTR_ALTERNATE };
-
- /**
- * Set if the style sheet declaration should be a comment.
- */
- protected boolean comment = false;
-
- /* (non-Javadoc)
- * @see org.wsi.test.common.AddStyleSheet#getHref()
- */
- public String getHref()
- {
- return (String) this.attributeValueList.get(WSIConstants.ATTR_HREF);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.common.AddStyleSheet#setHref(String)
- */
- public void setHref(String href)
- {
- this.attributeValueList.put(WSIConstants.ATTR_HREF, href);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.common.AddStyleSheet#getType()
- */
- public String getType()
- {
- return (String) this.attributeValueList.get(WSIConstants.ATTR_TYPE);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.common.AddStyleSheet#setType(String)
- */
- public void setType(String type)
- {
- this.attributeValueList.put(WSIConstants.ATTR_TYPE, type);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.common.AddStyleSheet#getTitle()
- */
- public String getTitle()
- {
- return (String) this.attributeValueList.get(WSIConstants.ATTR_TITLE);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.common.AddStyleSheet#setTitle(String)
- */
- public void setTitle(String title)
- {
- this.attributeValueList.put(WSIConstants.ATTR_TITLE, title);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.common.AddStyleSheet#getMedia()
- */
- public String getMedia()
- {
- return (String) this.attributeValueList.get(WSIConstants.ATTR_MEDIA);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.common.AddStyleSheet#setMedia(String)
- */
- public void setMedia(String media)
- {
- this.attributeValueList.put(WSIConstants.ATTR_MEDIA, media);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.common.AddStyleSheet#getCharset()
- */
- public String getCharset()
- {
- return (String) this.attributeValueList.get(WSIConstants.ATTR_CHARSET);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.common.AddStyleSheet#setCharset(String)
- */
- public void setCharset(String charset)
- {
- this.attributeValueList.put(WSIConstants.ATTR_CHARSET, charset);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.common.AddStyleSheet#getAlternate()
- */
- public String getAlternate()
- {
- return (String) this.attributeValueList.get(WSIConstants.ATTR_ALTERNATE);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.common.AddStyleSheet#setAlternate(String)
- */
- public void setAlternate(String alternate)
- {
- this.attributeValueList.put(WSIConstants.ATTR_ALTERNATE, alternate);
- }
-
- /* (non-Javadoc)
- * Set if the style sheet declaration should be a comment.
- */
- public void setComment(boolean comment)
- {
- this.comment = comment;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.common.AddStyleSheet#getStyleSheetString()
- */
- public String getStyleSheetString()
- {
- StringBuffer styleSheet = new StringBuffer();
-
- if (comment)
- styleSheet.append("<!-- ");
-
- styleSheet.append("<?xml-stylesheet");
-
- String value;
- for (int i = 0; i < attributeNameList.length; i++)
- {
- if ((value = (String) attributeValueList.get(attributeNameList[i]))
- != null)
- styleSheet.append(" " + attributeNameList[i] + "=\"" + value + "\"");
- }
-
- // End element
- styleSheet.append(" ?>");
-
- if (comment)
- styleSheet.append(" -->");
-
- return styleSheet.toString();
- }
-
- /**
- * Get string representation of this object.
- */
- public String toString()
- {
- return getStyleSheetString();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentElement#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- // Config options
- pw.print(" <" + nsName + ELEM_NAME + " ");
- pw.print(WSIConstants.ATTR_HREF + "=\"" + getHref() + "\" ");
- pw.print(WSIConstants.ATTR_TYPE + "=\"" + getType() + "\" ");
- if (getTitle() != null)
- pw.print(WSIConstants.ATTR_TITLE + "=\"" + getTitle() + "\" ");
- if (getMedia() != null)
- pw.print(WSIConstants.ATTR_MEDIA + "=\"" + getMedia() + "\" ");
- if (getCharset() != null)
- pw.print(WSIConstants.ATTR_CHARSET + "=\"" + getCharset() + "\" ");
- if (getAlternate() != null)
- pw.print(WSIConstants.ATTR_ALTERNATE + "=\"" + getAlternate() + "\" ");
- pw.println("/>");
-
- return sw.toString();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentElement.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentElement.java
deleted file mode 100644
index c96d27864..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentElement.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.document;
-
-/**
- * Defines the interface used for all Conformance XML documents.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface DocumentElement
-{
- /**
- * Return XML string representation of this object.
- * @param namespaceName a namespace prefix.
- * @return XML string representation of this object.
- */
- public String toXMLString(String namespaceName);
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentFactory.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentFactory.java
deleted file mode 100644
index 98e90cc3c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentFactory.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * 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.document;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfigReader;
-import org.eclipse.wst.wsi.internal.core.log.Log;
-import org.eclipse.wst.wsi.internal.core.log.LogReader;
-import org.eclipse.wst.wsi.internal.core.log.LogWriter;
-import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfig;
-import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfigReader;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertionsReader;
-import org.eclipse.wst.wsi.internal.core.report.Report;
-import org.eclipse.wst.wsi.internal.core.report.ReportWriter;
-import org.eclipse.wst.wsi.internal.core.util.WSIProperties;
-
-/**
- * This abstract class defines the factory interface that can be used to
- * read and write all of the Conformance XML documents.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public abstract class DocumentFactory
-{
- /**
- * Get a new instance of a DocumentFactory.
- * @return a new instance of a DocumentFactory.
- * @throws WSIException if problems occur during creation.
- */
- public static DocumentFactory newInstance() throws WSIException
- {
- // Return instance of factory
- return newInstance(getFactoryClassName());
- }
-
- /**
- * Get a new instance of a DocumentFactory using the specified
- * factory class name.
- * @param factoryClassName factory class name.
- * @return a new instance of a DocumentFactory.
- * @throws WSIException if problems occur during creation.
- */
- public static DocumentFactory newInstance(String factoryClassName)
- throws WSIException
- {
- DocumentFactory documentFactory = null;
-
- // If a factory class name was specified, then create object
- if (factoryClassName != null)
- {
- try
- {
- // Get class object
- Class factoryClass = Class.forName(factoryClassName);
-
- // Create new factory
- documentFactory = (DocumentFactory) factoryClass.newInstance();
- }
-
- catch (Exception e)
- {
- throw new WSIException(
- "Could not instantiate document factory class: "
- + factoryClassName
- + ".",
- e);
- }
- }
- else
- {
- throw new WSIException("A WSIDocumentFactory implementation class was not found.");
- }
-
- // Return factory
- return documentFactory;
- }
-
- // DOCUMENT TYPES
-
- /**
- * Create log file.
- * @return log file.
- */
- public abstract Log newLog();
-
- /**
- * Create monitor config.
- * @return newly created monitor config.
- */
- public abstract MonitorConfig newMonitorConfig();
-
- /**
- * Create analyzer config.
- * @return newly created analyzer config.
- */
- public abstract AnalyzerConfig newAnalyzerConfig();
-
- /**
- * Create profile assertions.
- * @return newly created profile assertions.
- */
- public abstract ProfileAssertions newProfileAssertions();
-
- /**
- * Create report.
- * @return newly created report.
- */
- public abstract Report newReport();
-
- // READERS
-
- /**
- * Create profile assertions reader.
- * @return newly created profile assertions reader.
- */
- public abstract ProfileAssertionsReader newProfileAssertionsReader();
-
- /**
- * Create monitor config reader.
- * @return newly created monitor config reader.
- */
- public abstract MonitorConfigReader newMonitorConfigReader();
-
- /**
- * Create analyzer config reader.
- * @return newly created analyzer config reader.
- */
- public abstract AnalyzerConfigReader newAnalyzerConfigReader();
-
- /**
- * Create log reader.
- * @return newly created log reader.
- */
- public abstract LogReader newLogReader();
-
- // ADD: Add other readers
-
- // WRITERS
-
- /**
- * Create report writer.
- * @return newly created report writer.
- */
- public abstract ReportWriter newReportWriter();
-
- /**
- * Create log writer.
- * @return newly created log writer.
- */
- public abstract LogWriter newLogWriter();
-
- // ADD: Add other writers
-
- /**
- * Find the factory class name which can be specified as a Java property.
- */
- private static String getFactoryClassName()
- {
- // Get property value
- return WSIProperties.getProperty(
- WSIProperties.PROP_DOCUMENT_FACTORY,
- WSIProperties.DEF_DOCUMENT_FACTORY);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentReader.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentReader.java
deleted file mode 100644
index 387ce5336..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentReader.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * 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.document;
-
-/**
- * Defines the interface used to read the Conformance XML documents.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface DocumentReader
-{
- /**
- * Get document location.
- * @return document location.
- * @see #setLocation
- */
- public String getLocation();
-
- /**
- * Set document location.
- * @param documentURI document location.
- * @see #getLocation
- */
- public void setLocation(String documentURI);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentWriter.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentWriter.java
deleted file mode 100644
index 9c8892654..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentWriter.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * 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.document;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.w3c.dom.Document;
-
-/**
- * Defines the interface used to write the Conformance XML documents.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface DocumentWriter
-{
- /**
- * Get the Document object associated with this Conformance document.
- * @return the Document object associated with this Conformance document.
- * @throws UnsupportedOperationException if operation is not supported.
- */
- public Document getDocument() throws UnsupportedOperationException;
-
- /**
- * Set writer.
- * @param documentLocation the location of the document.
- * @throws IOException if failed or interrupted I/O operations.
- */
- public void setWriter(String documentLocation) throws IOException;
-
- /**
- * Write out only a part of a document to the location
- * that was previously set using the setLocation method.
- * @param reader a Reader object.
- * @throws WSIException if there is trouble writing out the document.
- * @throws IllegalStateException if this operation has been invoked
- * at an illegal or inappropriate time.
- */
- public void write(Reader reader) throws WSIException, IllegalStateException;
-
- /**
- * Write out only a part of a document.
- * @param reader a Reader object.
- * @param writer a Writer object.
- * @throws WSIException if there is trouble writing out the document.
- */
- public void write(Reader reader, Writer writer) throws WSIException;
-
- /**
- * Close writer.
- * @throws WSIException if there is trouble closing the writer.
- * @throws IllegalStateException if this operation has been invoked
- * at an illegal or inappropriate time.
- */
- public void close() throws WSIException, IllegalStateException;
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/WSIDocument.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/WSIDocument.java
deleted file mode 100644
index b8db0d700..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/WSIDocument.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * 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.document;
-
-/**
- * Defines the interface used for all Conformance XML documents.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface WSIDocument extends DocumentElement
-{
- /**
- * Get the location of the document.
- * @return the location of the document.
- * @see #setLocation
- */
- public String getLocation();
-
- /**
- * Set the location of the document.
- * @param documentURI the location of the document.
- * @see #getLocation
- */
- public void setLocation(String documentURI);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/impl/DocumentFactoryImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/impl/DocumentFactoryImpl.java
deleted file mode 100644
index f18c74d6b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/impl/DocumentFactoryImpl.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * 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.document.impl;
-
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfigReader;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.AnalyzerConfigImpl;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.AnalyzerConfigReaderImpl;
-import org.eclipse.wst.wsi.internal.core.document.DocumentFactory;
-import org.eclipse.wst.wsi.internal.core.log.Log;
-import org.eclipse.wst.wsi.internal.core.log.LogReader;
-import org.eclipse.wst.wsi.internal.core.log.LogWriter;
-import org.eclipse.wst.wsi.internal.core.log.impl.LogImpl;
-import org.eclipse.wst.wsi.internal.core.log.impl.LogReaderImpl;
-import org.eclipse.wst.wsi.internal.core.log.impl.LogWriterImpl;
-import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfig;
-import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfigReader;
-import org.eclipse.wst.wsi.internal.core.monitor.config.impl.MonitorConfigImpl;
-import org.eclipse.wst.wsi.internal.core.monitor.config.impl.MonitorConfigReaderImpl;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertionsReader;
-import org.eclipse.wst.wsi.internal.core.profile.impl.ProfileAssertionsImpl;
-import org.eclipse.wst.wsi.internal.core.profile.impl.ProfileAssertionsReaderImpl;
-import org.eclipse.wst.wsi.internal.core.report.Report;
-import org.eclipse.wst.wsi.internal.core.report.ReportWriter;
-import org.eclipse.wst.wsi.internal.core.report.impl.ReportImpl;
-import org.eclipse.wst.wsi.internal.core.report.impl.ReportWriterImpl;
-
-/**
- * This is the implementation of the Conformance document factory which provides access to
- * implementations of the documents, readers and writers.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class DocumentFactoryImpl extends DocumentFactory
-{
- /**
- * Document factory implementation.
- */
- public DocumentFactoryImpl()
- {
- }
-
- /**
- * Create log file.
- */
- public Log newLog()
- {
- return new LogImpl();
- }
-
- /**
- * Create monitor config.
- */
- public MonitorConfig newMonitorConfig()
- {
- return new MonitorConfigImpl();
- }
-
- /**
- * Create analyzer config.
- */
- public AnalyzerConfig newAnalyzerConfig()
- {
- return new AnalyzerConfigImpl();
- }
-
- /**
- * Create profile assertions.
- */
- public ProfileAssertions newProfileAssertions()
- {
- return new ProfileAssertionsImpl();
- }
-
- /**
- * Create report.
- */
- public Report newReport()
- {
- return new ReportImpl();
- }
-
- /**
- * Create monitor config reader.
- */
- public MonitorConfigReader newMonitorConfigReader()
- {
- return new MonitorConfigReaderImpl();
- }
-
- /**
- * Create analyzer config reader.
- */
- public AnalyzerConfigReader newAnalyzerConfigReader()
- {
- return new AnalyzerConfigReaderImpl();
- }
-
- /**
- * Create profile assertions reader.
- */
- public ProfileAssertionsReader newProfileAssertionsReader()
- {
- // Return implementation
- return new ProfileAssertionsReaderImpl();
- }
-
- /**
- * Create log reader.
- */
- public LogReader newLogReader()
- {
- // Return implementation
- return new LogReaderImpl();
- }
-
- // WRITERS
-
- /**
- * Create log writer.
- */
- public LogWriter newLogWriter()
- {
- return new LogWriterImpl();
- }
-
- /**
- * Create a new instance of a DocumentReader.
- */
- public ReportWriter newReportWriter()
- {
- // Return implementation
- return new ReportWriterImpl();
- }
-
- /**
- * Find the factory class name which can be specified as a Java property.
- */
- //private static String getFactoryClassName()
- //{
- // // Get property value
- // return WSIProperties.getProperty(
- // WSIProperties.PROP_DOCUMENT_FACTORY,
- // WSIProperties.DEF_DOCUMENT_FACTORY);
- //}
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/impl/DocumentWriterImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/impl/DocumentWriterImpl.java
deleted file mode 100644
index a61e6d1f0..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/impl/DocumentWriterImpl.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2003 IBM Corporation, 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
- * BeaconIT - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.document.impl;
-
-import java.io.BufferedReader;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.io.Reader;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.document.DocumentWriter;
-import org.w3c.dom.Document;
-
-/**
- * Defines the implementation used to write the Conformance XML
- * documents.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public abstract class DocumentWriterImpl implements DocumentWriter
-{
- /**
- * Document writer.
- */
- protected Writer writer = null;
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentWriter#getDocument()
- */
- public Document getDocument() throws UnsupportedOperationException
- {
- // ADD:
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentWriter#setWriter(String)
- */
- public void setWriter(String documentLocation)
- throws UnsupportedEncodingException, FileNotFoundException
- {
- // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
- this.writer =
- new PrintWriter(
- new OutputStreamWriter(
- new FileOutputStream(documentLocation),
- "UTF-8"));
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentWriter#write(Reader)
- */
- public synchronized void write(Reader reader)
- throws WSIException, IllegalStateException
- {
- // If the writer was not specified, then throw an exception
- if (writer == null)
- throw new IllegalStateException("Could not write document since writer was not set.");
-
- write(reader, writer);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentWriter#write(Reader, Writer)
- */
- public synchronized void write(Reader reader, Writer writer)
- throws WSIException
- {
- // Create buffered reader
- BufferedReader bufReader = new BufferedReader(reader);
-
- // Create print writer
- PrintWriter printWriter = new PrintWriter(writer);
-
- String nextLine = null;
-
- try
- {
- // Read each line from the reader
- while ((nextLine = bufReader.readLine()) != null)
- {
- // Write text and flush stream
- printWriter.println(nextLine);
- }
- }
-
- catch (Exception e)
- {
- throw new WSIException("Could not write document.", e);
- }
-
- // Flush and close the writer
- printWriter.flush();
- //printWriter.close();
- }
-
- /**
- * Close writer.
- */
- public void close() throws WSIException, IllegalStateException
- {
- // If the writer was not specified, then throw an exception
- if (writer == null)
- throw new IllegalStateException("Could not write log file since writer was not set.");
-
- try
- {
- // Close the writer
- writer.close();
- }
-
- catch (IOException ioe)
- {
- throw new WSIException(ioe.toString(), ioe);
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/Log.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/Log.java
deleted file mode 100644
index 4c586b7e9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/Log.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * 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.log;
-
-import java.util.Vector;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.document.WSIDocument;
-
-/**
- * The interface for the message log file.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface Log extends WSIDocument
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_LOG;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_LOG, ELEM_NAME);
-
- /**
- * Add message to log file. The message will contain both
- * transport and content information.
- * @param logEntry message containing both transport and content information.
- * @throws WSIException if problems occur adding the message to log file.
- */
- public void addLogEntry(MessageEntry logEntry) throws WSIException;
-
- /**
- * Get the number of log entries.
- * @return the number of log entries.
- */
- public int getEntryCount();
-
- /**
- * Get a specific log file entry.
- * @param index index into log entries.
- * @return log file entry at specified index.
- */
- public MessageEntry getLogEntry(int index);
-
- /**
- * Get log entry list.
- * @return list of log entries.
- */
- public Vector getLogEntryList();
-
- /**
- * Get last log entry.
- * @return ast log entry.
- */
- public MessageEntry getLastLogEntry();
-
- /**
- * Create log entry object.
- * @return newly created log entry.
- */
- public MessageEntry createLogEntry();
-
- /**
- * Set style sheet string.
- * @param styleSheetString a style sheet string.
- */
- public void setStyleSheetString(String styleSheetString);
-
- /**
- * Get start element string.
- * @param namespaceName a namespace prefix.
- * @return start element string.
- */
- public String getStartXMLString(String namespaceName);
-
- /**
- * Get end element string.
- * @param namespaceName a namespace prefix.
- * @return end element string.
- */
- public String getEndXMLString(String namespaceName);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogBuilder.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogBuilder.java
deleted file mode 100644
index 2a8066810..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogBuilder.java
+++ /dev/null
@@ -1,429 +0,0 @@
-/*******************************************************************************
- * 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.log;
-
-import java.io.PrintWriter;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import java.util.TimeZone;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.ToolInfo;
-import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet;
-import org.eclipse.wst.wsi.internal.core.common.impl.AddStyleSheetImpl;
-import org.eclipse.wst.wsi.internal.core.document.DocumentFactory;
-import org.eclipse.wst.wsi.internal.core.log.Log;
-import org.eclipse.wst.wsi.internal.core.log.LogWriter;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-import org.eclipse.wst.wsi.internal.core.log.RequestHandler;
-import org.eclipse.wst.wsi.internal.core.log.impl.LogImpl;
-import org.eclipse.wst.wsi.internal.core.log.impl.LogWriterImpl;
-import org.eclipse.wst.wsi.internal.core.log.impl.MessageEntryImpl;
-import org.eclipse.wst.wsi.internal.core.monitor.config.Comment;
-import org.eclipse.wst.wsi.internal.core.monitor.config.ManInTheMiddle;
-import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfig;
-import org.eclipse.wst.wsi.internal.core.monitor.config.impl.CommentImpl;
-import org.eclipse.wst.wsi.internal.core.monitor.config.impl.ManInTheMiddleImpl;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-/**
- * Given a list of RequestHandlers, this class builds a
- * WS-I compliant Message Log file.
- *
- * @author David Lauzon, IBM
- */
-public class LogBuilder
-{
- public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-
- /**
- * IDs to identify requests and corresponding responses.
- */
- protected int conversationId = 1;
-
- /**
- * IDs to uniquely identify each and every message within the log file.
- */
- protected int id = 1;
-
- /**
- * The actual log object.
- */
- protected Log log = null;
-
- /**
- * The log file.
- */
- protected IFile ifile;
-
- /**
- * Tool information property values.
- */
- private static final String TOOL_NAME = "Monitor";
- private static final String TOOL_VERSION = "1.0";
- private static final String TOOL_RELEASE_DATE = "2003-03-20";
- private static final String TOOL_IMPLEMENTER = "IBM";
- private static final String TOOL_LOCATION = "";
-
- /**
- * Common timestamp format.
- */
- public static final SimpleDateFormat timestampFormat = new SimpleDateFormat ("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
-
- /**
- * Constructor.
- * @param ifile: the file handler for the log.
- */
- public LogBuilder(IFile ifile)
- {
- this.ifile = ifile;
- }
-
- /**
- * This builds and then returns a log based on the list of request-response pairs.
- * @param requestResponses: a list of messages in the form of request-response pairs.
- * @return a log based on a list of request-response pairs.
- */
- public Log buildLog(List requestResponses)
- {
- log = new LogImpl();
- logMonitorInformation();
-
- // log the messages
- for (Iterator i = requestResponses.iterator(); i.hasNext();)
- {
- RequestHandler rr = (RequestHandler)i.next();
- if ((rr != null) && (!omitRequestResponse(rr)))
- {
- logRequestResponse(rr);
- }
- }
- return log;
- }
-
- /**
- * Currently a no-op.
- */
- public void logMonitorInformation()
- {
- }
-
- /**
- * Log the request-response pair.
- *@param rr: a request-response pair.
- */
- protected void logRequestResponse(RequestHandler rr)
- {
- if (rr != null)
- {
- String requestHeader = new String(rr.getRequestHeader());
- String responseHeader = new String(rr.getResponseHeader());
-
- byte[] unchunkedRequestBody = rr.getRequestContent();
- byte[] unchunkedResponseBody = rr.getResponseContent();
-
- long timestamp = rr.getDate().getTime();
- String localHostAndPort = "localhost:" + rr.getLocalPort();
- String remoteHostAndPort = rr.getRemoteHost() + ":" + rr.getRemotePort();
-
- int requestId = getNextAvailableId();
- int responseId = getNextAvailableId();
- int conversationId = getNextAvailableConversationId();
-
- MessageEntry messageEntryRequest = createMessageEntry(requestId, conversationId,
- MessageEntry.TYPE_REQUEST, timestamp, localHostAndPort,
- remoteHostAndPort, unchunkedRequestBody, requestHeader);
-
- MessageEntry messageEntryResponse = createMessageEntry(responseId, conversationId,
- MessageEntry.TYPE_RESPONSE, timestamp + rr.getResponseTime(), remoteHostAndPort,
- localHostAndPort, unchunkedResponseBody, responseHeader);
- try
- {
- if ((messageEntryRequest != null) &&
- (messageEntryResponse != null) &&
- ((messageEntryRequest.isMimeContent()) ||
- (isMessageWithBrackets(messageEntryRequest.getMessage()))))
- {
- log.addLogEntry(messageEntryRequest);
- log.addLogEntry(messageEntryResponse);
- }
- }
- catch (Exception e)
- {
- // ignore the request response pair
- }
- }
- }
-
- /**
- * Returns true if the content of the message has at least
- * one left and one right bracket.
- * @param message: a message content.
- * @return true if the content of the message has at least
- * one left and one right bracket.
- */
- public boolean isMessageWithBrackets(String message)
- {
- return ((message != null) &&
- (message.indexOf("<")!= -1) &&
- (message.indexOf(">") != -1));
- }
- /**
- * Returns the header of a message.
- * @param requestOrResponse: a message.
- * @param headerLength: the length of the header in the message.
- * @return the header of a message.
- */
- protected String getHeader(byte[] requestOrResponse, int headerLength)
- {
- String result = null;
-
- if ((requestOrResponse != null) &&
- (headerLength > 0) &&
- (requestOrResponse.length >= headerLength))
- {
- byte[] header = new byte[headerLength];
- System.arraycopy(requestOrResponse, 0, header, 0, headerLength);
- result = new String(header);
- }
- return result;
- }
-
- /**
- * Returns the body of a message.
- * @param requestOrResponse: a message.
- * @param headerLength: the length of the header in the message.
- * @return the body of a message.
- */
- protected String getBody(byte[] requestOrResponse, int headerLength)
- {
- String result = null;
-
- if ((requestOrResponse != null) &&
- (headerLength > 0) &&
- (requestOrResponse.length > headerLength))
- {
- int bodyLength = requestOrResponse.length - headerLength;
- byte[] body = new byte[bodyLength];
- System.arraycopy(requestOrResponse, headerLength, body, 0, bodyLength);
- result = new String(body);
- }
- return result;
- }
-
- /**
- * Create a log entry.
- * @param id: unique message id within the log.
- * @param conversationId: conversation id to identify request-response pairs.
- * @param type: type indicating a request or response.
- * @param timestamp: the date and time of the message.
- * @param senderHostAndPort: the host and port of the sender.
- * @param receiverHostAndPort: the host and port of the receiver.
- * @param messageContent: the content or body of the message.
- * @param header: the header of the message.
- * @return a log entry.
- */
- protected MessageEntry createMessageEntry(int id, int conversationId, String type, long timestamp,
- String senderHostAndPort, String receiverHostAndPort, byte[] messageContent, String header)
- {
- // Create log entry
- MessageEntry messageEntry = new MessageEntryImpl();
- messageEntry.setId(String.valueOf(id));
- messageEntry.setConversationId(String.valueOf(conversationId));
- messageEntry.setType(type);
- messageEntry.setTimestamp(getTimestamp(new Date(timestamp)));
- messageEntry.setSenderHostAndPort(senderHostAndPort);
- messageEntry.setReceiverHostAndPort(receiverHostAndPort);
- messageEntry.setEncoding(WSIConstants.DEFAULT_XML_ENCODING);
-
- messageEntry.setHTTPHeaders(header);
-
- if (Utils.isMultipartRelatedMessage(header))
- {
- MimeParts mimeParts = Utils.parseMultipartRelatedMessage(messageContent, header, WSIConstants.DEFAULT_XML_ENCODING);
- if (mimeParts == null)
- {
- // problem creating Mimeparts -- treat it as simple SOAP message
- messageEntry.setMessage(new String(messageContent));
- messageEntry.setMimeContent(false);
- }
- else
- {
- messageEntry.setMimeParts(mimeParts);
- messageEntry.setMimeContent(true);
- }
- }
- else
- {
- // Get the message content
- messageEntry.setMessage(new String(messageContent));
- messageEntry.setMimeContent(false);
- }
- return messageEntry;
- }
-
- /**
- * Returns the next available id, then increments the id value.
- * @return the next available id.
- */
- protected int getNextAvailableId()
- {
- return id++;
- }
-
- /**
- * Returns the next available conversation id, then increments the conversation id value.
- * A conversation id identfies a request and its corresponding response.
- * @return the next available converasationid.
- */
- protected int getNextAvailableConversationId()
- {
- return conversationId++;
- }
-
- public int getHeaderLength(Integer obj)
- {
- int result = 0;
- if (obj != null)
- {
- result = obj.intValue();
- }
- return result;
- }
-
- /**
- * Check for HTTP messages that should not be logged.
- * @param rr: a request-response pair.
- * @return true if the request-response pair should be omitted from the log.
- */
- private boolean omitRequestResponse(RequestHandler rr)
- {
- boolean omit = false;
- if (rr != null)
- {
- String request = rr.getRequestHeader().toString();
- if ((request != null) &&
- ((request.startsWith("CONNECT")) ||
- (request.startsWith("TRACE")) ||
- (request.startsWith("DELETE")) ||
- (request.startsWith("OPTIONS")) ||
- (request.startsWith("HEAD"))))
- {
- omit = true;
- }
- }
- return omit;
- }
-
- /**
- * Write log out to file.
- * @param log: log to be written to file.
- */
-
- public void writeLog(Log log)
- {
- try
- {
- // Get log writer
- LogWriter logWriter = new LogWriterImpl();
-
- logWriter.setWriter(ifile.getLocation().toString());
-
- // Write start of log file
- logWriter.write(new StringReader(log.getStartXMLString("")));
-
- // Write monitor tool information
- String monitorInfo = generateMonitorToolInfo();
- logWriter.write(new StringReader(monitorInfo));
-
- for (int i=0; i<log.getEntryCount(); i++)
- {
- MessageEntry me = log.getLogEntry(i);
- logWriter.write(new StringReader(me.toXMLString("")));
- }
- logWriter.write(new StringReader(log.getEndXMLString("")));
- logWriter.close();
- }
- catch (Exception e)
- {
- System.out.println("Exception thrown when printing log file.");
- }
- }
-
-
- /**
- * Returns XML string representation of the Monitor tool.
- * @return XML string representation of the Monitor tool.
- */
- protected String generateMonitorToolInfo()
- {
-
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- try
- {
- // Tool information
- ToolInfo toolInfo = new ToolInfo(TOOL_NAME, TOOL_VERSION, TOOL_RELEASE_DATE, TOOL_IMPLEMENTER, TOOL_LOCATION);
-
- DocumentFactory documentFactory = DocumentFactory.newInstance();
- MonitorConfig monitorConfig = documentFactory.newMonitorConfig();
-
- Comment comment = new CommentImpl();
- comment.setText("Comment");
- monitorConfig.setComment(comment);
- monitorConfig.setLogLocation("URL");
- monitorConfig.setReplaceLog(true);
-
- AddStyleSheet addStyleSheet = new AddStyleSheetImpl();
- monitorConfig.setAddStyleSheet(addStyleSheet);
-
- monitorConfig.setLogDuration(600);
- monitorConfig.setTimeout(3);
-
- ManInTheMiddle manInTheMiddle = new ManInTheMiddleImpl();
- monitorConfig.setManInTheMiddle(manInTheMiddle);
-
- monitorConfig.setLocation("documentURI");
- monitorConfig.setVerboseOption(false);
-
- // Start
- pw.print(toolInfo.getStartXMLString(""));
-
- // Config
- pw.print(monitorConfig.toXMLString(WSIConstants.NS_NAME_WSI_MONITOR_CONFIG));
-
- // End
- pw.println(toolInfo.getEndXMLString(""));
- }
- catch (Exception e)
- {
- }
- return sw.toString();
- }
-
- /**
- * Get the given date and time as a timestamp.
- * @param date: a date object.
- * @return the given date and time as a timestamp.
- */
- public static String getTimestamp(Date date)
- {
- timestampFormat.setTimeZone(TimeZone.getDefault());
- return timestampFormat.format(date);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogReader.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogReader.java
deleted file mode 100644
index cd6012844..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogReader.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * 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.log;
-
-import java.io.Reader;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.document.DocumentReader;
-
-/**
- * Defines the interface used to read the Log file.
- *
- * @version 1.0.1
- * @author Neil Delima (nddelima@ca.ibm.com)
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface LogReader extends DocumentReader
-{
- /**
- * Start reading log entries from a specified URI location using the specified callback.
- *
- * @param logURI the location of the log file.
- * @param logEntryHandler the function that will be called to process each log entry.
- * @throws WSIException if problem reading log.
- */
- public void readLog(String logURI, MessageEntryHandler logEntryHandler)
- throws WSIException;
-
- /**
- * Start reading log entries from a reader using the specified callback.
- *
- * @param reader the source for the log file.
- * @param logEntryHandler the function that will be called to process each log entry.
- * @throws WSIException if problem reading log.
- */
- public void readLog(Reader reader, MessageEntryHandler logEntryHandler)
- throws WSIException;
-
- // ADD: Do we need to add functions that will read the entire log file?
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogWriter.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogWriter.java
deleted file mode 100644
index e8e33e896..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogWriter.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * 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.log;
-
-import java.io.Writer;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.document.DocumentWriter;
-
-/**
- * Defines the interface used to write the Log file.
- *
- * @version 1.0.1
- * @author Neil Delima (nddelima@ca.ibm.com)
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface LogWriter extends DocumentWriter
-{
- /**
- * Write the entire contents of the document using the location
- * that was previously set using the setLocation method.
- * @param log the Log object.
- * @throws IllegalStateException if this operation has been invoked
- * at an illegal or inappropriate time
- * @throws WSIException if problems occur during the writing of
- * the log.
- */
- public void write(Log log) throws IllegalStateException, WSIException;
-
- /**
- * Write the entire contents of the document.
- * @param log the Log object.
- * @param writer a Writer object.
- * @throws WSIException if problems occur during the writing of
- * the log.
- */
- public void write(Log log, Writer writer) throws WSIException;
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MessageEntry.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MessageEntry.java
deleted file mode 100644
index 1b58ff311..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MessageEntry.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * 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.log;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
-
-/**
-* Message entry interface.
-*
-* @version 1.0.1
-* @author Peter Brittenham (peterbr@us.ibm.com)
-*/
-public interface MessageEntry extends DocumentElement
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_MESSAGE_ENTRY;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_LOG, ELEM_NAME);
-
- /**
- * Type of log entry.
- */
- public static final String TYPE_REQUEST = "request";
- public static final String TYPE_RESPONSE = "response";
-
- /**
- * Gets the id.
- * @return the id.
- * @see #setId
- */
- public String getId();
-
- /**
- * Sets the id.
- * @param id the identifier for the log entry.
- * @see #getId
- */
- public void setId(String id);
-
- /**
- * Gets the conversation id.
- * @return the conversation id.
- * @see #setConversationId
- */
- public String getConversationId();
-
- /**
- * Sets the conversation id.
- * @param conversationId the conversation id.
- * @see #getConversationId
- */
- public void setConversationId(String conversationId);
-
- /**
- * Gets the timestamp.
- * @return the timestamp.
- * @see #setTimestamp
- */
- public String getTimestamp();
-
- /**
- * Sets the timestamp.
- * @param timestamp the timestamp.
- * @see #getTimestamp
- */
- public void setTimestamp(String timestamp);
-
- /**
- * Gets the type.
- * @return the type.
- * @see #setType
- */
- public String getType();
-
- /**
- * Sets the type.
- * @param type the type.
- * @see #getType
- */
- public void setType(String type);
-
- /**
- * Gets the sender host and port.
- * @return the sender host and port.
- * @see #setSenderHostAndPort
- */
- public String getSenderHostAndPort();
-
- /**
- * Sets the sender host and port.
- * @param senderHostAndPort the sender host and port.
- * @see #getSenderHostAndPort
- */
- public void setSenderHostAndPort(String senderHostAndPort);
-
- /**
- * Gets the receiver host and port.
- * @return the receiver host and port.
- * @see #setReceiverHostAndPort
- */
- public String getReceiverHostAndPort();
-
- /**
- * Sets the receiver host and port.
- * @param receiverHostAndPort the receiver host and port.
- * @see #getReceiverHostAndPort
- */
- public void setReceiverHostAndPort(String receiverHostAndPort);
-
- /**
- * Gets the message.
- * @return the message.
- * @see #setMessage
- */
- public String getMessage();
-
- /**
- * Sets the message.
- * @param message the message.
- * @see #getMessage
- */
- public void setMessage(String message);
-
- /**
- * Sets the encoding.
- * @param encoding the encoding.
- * @see #getMessage
- */
- public void setEncoding(String encoding);
-
- /**
- * Gets the BOM.
- * @return the BOM.
- * @see #setBOM
- */
- public int getBOM();
-
- /**
- * Sets the BOM.
- * @param bom the BOM.
- * @see #getBOM
- */
- public void setBOM(int bom);
-
- /**
- * Gets the HTTP headers.
- * @return the HTTP headers.
- * @see #setHTTPHeaders
- */
- public String getHTTPHeaders();
-
- /**
- * Sets the HTTP headers.
- * @param httpHeaders the HTTP headers.
- * @see #getHTTPHeaders
- */
- public void setHTTPHeaders(String httpHeaders);
-
- /**
- * Gets element location.
- * @return element location.
- * @see #setElementLocation
- */
- public ElementLocation getElementLocation();
-
- /**
- * Sets element location.
- * @param elementLocation element location.
- * @see #getElementLocation
- */
- public void setElementLocation(ElementLocation elementLocation);
-
- /**
- * If content is MIME type returns true, otherwise false
- * @return if content is MIME type returns true, otherwise false
- */
- public boolean isMimeContent();
-
- /**
- * Set flag to determine if content is MIME type.
- * @param isMimeContent a booolean value
- */
- public void setMimeContent(boolean isMimeContent);
-
- /**
- * Returns array of the MIME parts of the message.
- * @return array of the MIME parts of the message.
- * @see #isMIMEContent()
- */
- public MimeParts getMimeParts();
-
- /**
- * Sets the MIME parts of the message.
- * @param mimeParts he MIME parts of the message.
- * @see #getMimeParts
- */
- public void setMimeParts(MimeParts mimeParts);
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MessageEntryHandler.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MessageEntryHandler.java
deleted file mode 100644
index 0401e2ad7..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MessageEntryHandler.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * 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.log;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.report.ArtifactReference;
-
-/**
- * Defines the interface for the MessageEntry handler.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @author Graham Turrell (gturrell@uk.ibm.com)
- */
-public interface MessageEntryHandler
-{
- /**
- * Process artifact reference.
- * @param artifactReference artifact reference.
- * @throws WSIException if problems occur while processing artifact reference.
- */
- public void processArtifactReference(ArtifactReference artifactReference)
- throws WSIException;
-
- /**
- * Process a single log entry.
- * @param entryContext a single log entry.
- * @throws WSIException if problems occur while processing a single log entry.
-
- */
- public void processLogEntry(EntryContext entryContext) throws WSIException;
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MimePart.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MimePart.java
deleted file mode 100644
index ae68791a5..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MimePart.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Created on Nov 22, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.wst.wsi.internal.core.log;
-
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-
-/**
- * @author lauzond
- *
- * TODO To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Style - Code Templates
- */
-public interface MimePart extends DocumentElement {
-
- /**
- * Gets the content for the mime part.
- *
- * @return the mime content.
- * @see #setContent
- */
- public String getContent();
-
- /**
- * Sets the content for the mime part.
- *
- * @param mimeContent
- * the mime content.
- * @see #getContent
- */
- public void setContent(String mimeContent);
-
- /**
- * Gets the headers for the mime part.
- *
- * @return the mime headers.
- * @see #setMimeHeaders
- */
- public String getHeaders();
-
- /**
- * Sets the headers for the mime part.
- *
- * @param mimeHeaders
- * the mime headers.
- * @see #getHeaders
- */
- public void setHeaders(String mimeHeaders);
-
- /**
- * Gets the boundary strings for the mime part. Note that the last part of a
- * multipart/ related message will have 2 boundary strings. All other parts
- * will have one.
- *
- * @return the boundary strings.
- * @see #setBoundaryStrings
- */
- public String[] getBoundaryStrings();
-
- /**
- * Sets the boundary strings for the mime part. Note that the last part of a
- * multipart/ related message will have 2 boundary strings. All other parts
- * will have one.
- *
- * @param boundaryStrings
- * the boundary strings.
- * @see #getBoundaryStrings
- */
- public void setBoundaryStrings(String[] mimeHeaders);
-
- public String toXMLString(String namespaceName);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MimeParts.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MimeParts.java
deleted file mode 100644
index cce3f1c15..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MimeParts.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * 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.log;
-
-import java.util.Collection;
-
-/**
- * Mime parts interface.
- *
- * @version 1.0.1
- * @author David Lauzon (lauzond@ca.ibm.com)
- */
-public interface MimeParts
-{
- /**
- * Returns the start attribute value from the .
- * @return the he start attribute value.
- * @see #setRootPart
- */
- /**
- * Returns the root part, otherwise null.
- * @return the root part.
- * @see #setRootPart
- */
- public MimePart getRootPart();
-
- /**
- * Sets the root part.
- * @param rootPart the root part.
- * @see #getRootPart
- */
- public void setRootPart(MimePart rootPart);
-
- /**
- * Returns the number of parts.
- * @return the number of parts.
- */
- public int count();
-
- /**
- * Gets the conversation id.
- * @return the conversation id.
- * @see #setConversationId
- */
- public void addPart(MimePart part);
-
- /**
- * Returns a list of mime parts.
- * @return a list of mime parts.
- */
- public Collection getParts();
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/RequestHandler.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/RequestHandler.java
deleted file mode 100644
index 8a92df449..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/RequestHandler.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * 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.log;
-
-import java.util.Date;
-
-/**
- * Represents a TCP/IP request made between the client and the server.
- * Each request represents a request-response pair, where the request
- * is from client -> server, and the response is from server -> client.
- *
- * @author lauzond
- */
-
-public interface RequestHandler
-{
- /**
- * Returns just the HTTP header of the request portion of this request.
- * @return the content bytes
- */
- byte[] getRequestHeader();
-
- /**
- * Add the HTTP header of the request portion of this request.
- * @param requestHeader byte[]
- */
- void setRequestHeader(byte[] requestHeader);
-
- /**
- * Returns just the HTTP header of the response portion of this request.
- * @return the content bytes
- */
- byte[] getResponseHeader();
-
- /**
- * Add the HTTP header of the response portion of this request.
- * @param responseHeader byte[]
- */
- void setResponseHeader(byte[] responseHeader);
-
- /**
- * Returns just the HTTP body of the request portion of this request.
- * @return the content bytes
- */
- byte[] getRequestContent();
-
- /**
- * Add the HTTP body of the request portion of this request.
- * @param requestContent byte[]
- */
- void setRequestContent(byte[] requestContent);
-
- /**
- * Returns just the HTTP body of the response portion of this request.
- * @return the content bytes
- */
- byte[] getResponseContent();
-
- /**
- * Add the HTTP body of the response portion of this request.
- * @param responseContent byte[]
- */
- void setResponseContent(byte[] responseContent);
-
- /**
- * Returns the time this request was made.
- * @return the timestamp
- */
- Date getDate();
-
- /**
- * Add the time this request was made.
- * @param date the time
- */
- void setDate(Date date);
-
- /**
- * Returns the local (client) port.
- * @return the local port number
- */
- int getLocalPort();
-
- /**
- * Add the local (client) port.
- * @param localPort the local port
- */
- void setLocalPort(int localPort);
-
- /**
- * Returns the remote (server) port.
- * @return the remote port number
- */
- int getRemotePort();
-
- /**
- * Add the the remote (server) port.
- * @param remotePort the remote port
- */
- void setRemotePort(int remotePort);
-
- /**
- * Returns the remote (server) host.
- * @return the remote host
- */
- String getRemoteHost();
-
- /**
- * Add the remote (server) host.
- * @param remoteHost the remote host
- */
- void setRemoteHost(String remoteHost);
-
- /**
- * Returns the server's response time in milliseconds.
- * @return the server's response time
- */
- long getResponseTime();
-
- /**
- * Add the the server's response time in milliseconds.
- * @param responseTime the response time
- */
- void setResponseTime(long responseTime);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/LogImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/LogImpl.java
deleted file mode 100644
index 02d78ad98..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/LogImpl.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * 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.log.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.Log;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-/**
- * This class represents the message log file.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class LogImpl implements Log
-{
- /**
- * Log URI.
- */
- protected String logURI = null;
-
- /**
- * Start time stamp.
- */
- protected String startTimestamp = null;
-
- /**
- * Log entries.
- */
- protected Vector logEntryList = new Vector();
-
- /**
- * Last log entry.
- */
- protected MessageEntry lastLogEntry = null;
-
- /**
- * Log title.
- */
- // ADD: Should we provide a way to set the log title?
- protected String logTitle = "Message Log File";
-
- /**
- * Style sheet string.
- */
- protected String styleSheetString = null;
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.log.Log#addLogEntry(LogEntry)
- */
- public void addLogEntry(MessageEntry logEntry) throws WSIException
- {
- // Save last log entry
- lastLogEntry = logEntry;
-
- // Add log entry
- logEntryList.add(logEntry);
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.log.Log#getEntryCount()
- */
- public int getEntryCount()
- {
- return logEntryList.size();
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.log.Log#getLogEntry(int)
- */
- public MessageEntry getLogEntry(int index)
- {
- return (MessageEntry) logEntryList.elementAt(index);
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.log.Log#getLogEntryList()
- */
- public Vector getLogEntryList()
- {
- return logEntryList;
- }
-
- /**
- * Get last log entry.
- */
- public MessageEntry getLastLogEntry()
- {
- return lastLogEntry;
- }
-
- /**
- * Create log entry object.
- */
- public MessageEntry createLogEntry()
- {
- return new MessageEntryImpl();
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.document.WSIDocument#getLocation()
- */
- public String getLocation()
- {
- return this.logURI;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.document.WSIDocument#setLocation(String)
- */
- public void setLocation(String documentURI)
- {
- this.logURI = documentURI;
- }
-
- /**
- * Set style sheet string.
- */
- public void setStyleSheetString(String styleSheetString)
- {
- this.styleSheetString = styleSheetString;
- }
-
- /**
- * Get start element 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);
- if (this.styleSheetString != null)
- pw.println(this.styleSheetString);
-
- // Add XML comment
- String comment;
- if ((comment = TestUtils.getXMLComment()) != null)
- pw.print(comment);
-
- // Log
- pw.print("<" + nsName + ELEM_NAME);
-
- // REMOVED: No longer required by the monitor spec
- //pw.print(" " + WSIConstants.ATTR_NAME + "=\"" + logTitle + "\"");
- pw.println(
- " " + WSIConstants.ATTR_TIMESTAMP + "=\"" + Utils.getTimestamp() + "\"");
- pw.println(" xmlns=\"" + WSIConstants.NS_URI_WSI_LOG + "\"");
- pw.println(
- " xmlns:"
- + WSIConstants.NS_NAME_WSI_MONITOR_CONFIG
- + "=\""
- + WSIConstants.NS_URI_WSI_MONITOR_CONFIG
- + "\"");
- //pw.println(" xmlns:" + WSIConstants.NS_NAME_WSI_COMMON + "=\"" +
- // WSIConstants.NS_URI_WSI_COMMON + "\"");
- pw.println(
- " xmlns:"
- + WSIConstants.NS_NAME_XSI
- + "=\""
- + WSIConstants.NS_URI_XSI
- + "\">");
-
- // Add monitor tool info
- //pw.println(monitor.toXMLString(nsName));
-
- // Return XML string
- return sw.toString();
- }
-
- /**
- * Get end element string.
- */
- public String getEndXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- // End log element
- pw.println("</" + nsName + ELEM_NAME + ">");
-
- // Return XML string
- return sw.toString();
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.document.DocumentElement#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- // ADD:
- return null;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/LogReaderImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/LogReaderImpl.java
deleted file mode 100644
index f92971deb..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/LogReaderImpl.java
+++ /dev/null
@@ -1,784 +0,0 @@
-/*******************************************************************************
- * 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.log.impl;
-
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.ToolEnvironment;
-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.log.LogReader;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntryHandler;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-import org.eclipse.wst.wsi.internal.core.monitor.config.Comment;
-import org.eclipse.wst.wsi.internal.core.monitor.config.impl.CommentImpl;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.report.ArtifactReference;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.report.impl.ArtifactReferenceImpl;
-import org.eclipse.wst.wsi.internal.core.report.impl.EntryImpl;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.XMLReader;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Defines the implementation used to read the Log file.
- *
- * @version 1.0.1
- * @author Neil Delima (nddelima@ca.ibm.com)
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @author Graham Turrell (gturrell@uk.ibm.com)
- */
-public class LogReaderImpl implements LogReader
-{
- /**
- * Document location.
- */
- private String documentURI;
-
- /** Used to ensure that the implementer is the first element after the log element **/
- private int firstLogElement = 0;
- private int elementCount = 0;
- private boolean bMonitorFirst = false;
-
- private WSIException wsiException = null;
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.log.LogReader#readLog(String, LogEntryHandler)
- */
- public void readLog(String logURI, MessageEntryHandler logReaderCallback)
- throws WSIException
- {
- // Read the log file entries
- readLog(new InputSource(logURI), logReaderCallback);
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.log.LogReader#readLog(Reader, LogEntryHandler)
- */
- public void readLog(Reader reader, MessageEntryHandler logReaderCallback)
- throws WSIException
- {
- // Read the log file entries
- readLog(new InputSource(reader), logReaderCallback);
- }
-
- /**
- * Read and parse the log file.
- * @param inputSource an InputSource object
- * @param messageEntryHandler a MessageEntryHandler object
- * @throws WSIException if a problem occurs while reading the log file.
- */
- protected void readLog(
- InputSource inputSource,
- MessageEntryHandler messageEntryHandler)
- throws WSIException
- {
- try
- {
- // Get the XML reader
- XMLReader xmlReader = XMLUtils.getXMLReader();
-
- /** TO DO: The LogFile must be valid wrt its schema. The schemaLocation probably
- * needs to be set in some properties file.
- * These two are to turn on validation
- reader.setFeature(FEATURE_VALIDATION,true);
- */
-
- // Set the content handler
- xmlReader.setContentHandler(new LogFileHandler(messageEntryHandler));
-
- // Start parsing the file
- xmlReader.parse(inputSource);
-
- // ADD: Need to find a way to determine when this exception should be thrown,
- // since by the time we get here all of the test assertions have been processed.
- // Also, only the last exception is propogated back. Should all of the exceptions
- // be captured and propogated back?
- if (wsiException != null)
- {
- // TEMP: For now, don't throw the exception
- //throw wsiException;
- }
-
- //Requirement, the monitor MUST be the first child of the log.
- //Perhaps we need to preprocess the log if this is the first condition to be met.
- if (!bMonitorFirst)
- throw new WSIException(
- "The Element \""
- + WSIConstants.ELEM_MONITOR
- + "\" is not the first child of the Element \"log\"");
- }
- catch (Exception e)
- {
- throw new WSIException(
- "An error occurred while processing the message log file.",
- e);
- }
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.document.DocumentReader#getLocation()
- */
- public String getLocation()
- {
- return this.documentURI;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.document.DocumentReader#setLocation(String)
- */
- public void setLocation(String documentURI)
- {
- this.documentURI = documentURI;
- }
-
- /**
- * Process and handles elements and attribute in the log file and invokes
- * message validation assertions serially as the file is being processed,
- * if a messagevalidator exists.
- */
- private class LogFileHandler extends DefaultHandler
- {
-
- /** private members that represent a MessageEntry.*/
- private String id;
- private String conversationID;
- private String type;
- private String timestamp;
- private StringBuffer senderHostAndPort = null;
- private StringBuffer receiverHostAndPort = null;
- private StringBuffer messageContent = null;
- private StringBuffer httpHeaders = null;
- private StringBuffer boundary = null;
- private StringBuffer mimeHeaders = null;
- private StringBuffer mimeContent = null;
- private MimeParts mimeParts = null;
- private List boundaries = null;
-
- private int bom = 0;
-
- private String logTimestamp = null;
- private StringBuffer monitorComment;
- private boolean ignoreComment = false;
-
- /** Other private members */
- private String currentElement;
-
- private ElementLocation entryElementLocation = null;
-
- private ToolInfo toolInfo = null;
-
- private Vector messageEntryList = new Vector();
-
- private MessageEntryHandler logEntryHandler = null;
-
- private Locator locator = null;
-
- /**
- * Log file handler.
- */
- public LogFileHandler(MessageEntryHandler logEntryHandler)
- {
- this.logEntryHandler = logEntryHandler;
-
- toolInfo = new ToolInfo();
- toolInfo.setToolEnvironment(new ToolEnvironment());
- }
-
- /**
- * Start document.
- */
- public void startDocument()
- {
- }
-
- /**
- * Set document locato.
- */
- public void setDocumentLocator(Locator locator)
- {
- this.locator = locator;
-
- // DEBUG:
- //System.out.println("line: " + locator.getLineNumber() + ", column: " + locator.getColumnNumber());
- }
-
- /**
- * Start element.
- */
- public void startElement(
- String namespaceURI,
- String localName,
- String qName,
- Attributes attributes)
- {
- // DEBUG:
- //System.out.println("localName:" + localName + ", line: " + locator.getLineNumber() + ", column: " + locator.getColumnNumber());
-
- //Requirement, the implementer MUST be the first child of the log
- if (elementCount == 2)
- if (firstLogElement == 1)
- bMonitorFirst = true;
-
- elementCount++;
-
- // <log>
- if (localName == WSIConstants.ELEM_LOG)
- {
- // Save the timestamp value
- this.logTimestamp = attributes.getValue(WSIConstants.ATTR_TIMESTAMP);
- }
-
- // <wsi-config:configuration>
- else if (
- (localName == WSIConstants.ELEM_CONFIG)
- && (namespaceURI == WSIConstants.NS_URI_WSI_MONITOR_CONFIG))
- {
- // Save comment element if it exists
- ignoreComment = false;
- }
-
- // <wsi-config:comment>
- else if (
- (localName == WSIConstants.ELEM_COMMENT)
- && (namespaceURI == WSIConstants.NS_URI_WSI_MONITOR_CONFIG))
- {
- // If this is the comment element within the configuration element, then get its content
- if (!ignoreComment)
- {
- currentElement = WSIConstants.ELEM_COMMENT;
- monitorComment = new StringBuffer();
- }
- }
-
- // <wsi-config:redirect>
- else if (
- (localName == WSIConstants.ELEM_REDIRECT)
- && (namespaceURI == WSIConstants.NS_URI_WSI_MONITOR_CONFIG))
- {
- // After hitting the first redirect statement, ignore all comment elements
- ignoreComment = true;
- monitorComment = null;
- }
-
- // <monitor>
- else if (localName == WSIConstants.ELEM_MONITOR)
- {
- firstLogElement++;
- toolInfo.setName(WSIConstants.ELEM_MONITOR);
-
- // Get the monitor version and release date
- toolInfo.setVersion(attributes.getValue(WSIConstants.ATTR_VERSION));
- toolInfo.setReleaseDate(
- attributes.getValue(WSIConstants.ATTR_RELEASE_DATE));
- }
-
- // <implementer>
- else if (localName == WSIConstants.ELEM_IMPLEMENTER)
- {
- currentElement = WSIConstants.ELEM_IMPLEMENTER;
- toolInfo.setImplementer(attributes.getValue(WSIConstants.ATTR_NAME));
- toolInfo.setLocation(attributes.getValue(WSIConstants.ATTR_LOCATION));
- }
-
- // <runtime>
- else if (localName == WSIConstants.ELEM_RUNTIME)
- {
- currentElement = WSIConstants.ELEM_RUNTIME;
- toolInfo.getToolEnvironment().setRuntimeName(
- attributes.getValue(WSIConstants.ATTR_NAME));
- toolInfo.getToolEnvironment().setRuntimeVersion(
- attributes.getValue(WSIConstants.ATTR_VERSION));
- }
-
- // <operatingSystem>
- else if (localName == WSIConstants.ELEM_OPERATING_SYSTEM)
- {
- currentElement = WSIConstants.ELEM_OPERATING_SYSTEM;
- toolInfo.getToolEnvironment().setOSName(
- attributes.getValue(WSIConstants.ATTR_NAME));
- toolInfo.getToolEnvironment().setOSVersion(
- attributes.getValue(WSIConstants.ATTR_VERSION));
- }
-
- // <xmlParser>
- else if (localName == WSIConstants.ELEM_XML_PARSER)
- {
- currentElement = WSIConstants.ELEM_XML_PARSER;
- toolInfo.getToolEnvironment().setXMLParserName(
- attributes.getValue(WSIConstants.ATTR_NAME));
- toolInfo.getToolEnvironment().setXMLParserVersion(
- attributes.getValue(WSIConstants.ATTR_VERSION));
- }
-
- // <messageEntry>
- else if (localName == WSIConstants.ELEM_MESSAGE_ENTRY)
- {
- currentElement = WSIConstants.ELEM_MESSAGE_ENTRY;
- entryElementLocation = new ElementLocation(this.locator);
- timestamp = attributes.getValue(WSIConstants.ATTR_TIMESTAMP);
- conversationID = attributes.getValue(WSIConstants.ATTR_CONVERSATION_ID);
- id = attributes.getValue(WSIConstants.ATTR_ID_UC);
- type = attributes.getValue(WSIConstants.ATTR_TYPE);
- }
-
- // <httpHeaders>
- else if (localName == WSIConstants.ELEM_HTTP_HEADERS)
- {
- //Note: Character data could be split up and returned
- //in more more than one characters call.
- httpHeaders = new StringBuffer();
- currentElement = WSIConstants.ELEM_HTTP_HEADERS;
- }
-
- // <messageContent>
- else if (localName == WSIConstants.ELEM_MESSAGE_CONTENT)
- {
- messageContent = new StringBuffer();
- mimeParts = null;
- currentElement = WSIConstants.ELEM_MESSAGE_CONTENT;
- String bomString = attributes.getValue(WSIConstants.ATTR_BOM);
- if (bomString != null)
- bom = Integer.valueOf(bomString).intValue();
- else
- bom = 0;
- }
-
- // <messageContentWithAttachments>
- else if (localName == WSIConstants.ELEM_MESSAGE_CONTENT_WITH_ATTACHMENTS)
- {
- messageContent = null;
- mimeParts = new MimePartsImpl();
-
- String bomString = attributes.getValue(WSIConstants.ATTR_BOM);
- if (bomString != null)
- bom = Integer.valueOf(bomString).intValue();
- else
- bom = 0;
- }
-
- // <mimePart>
- else if (localName == WSIConstants.ELEM_MIME_PART)
- {
- if (boundaries == null)
- boundaries = new ArrayList(2);
- else
- boundaries.clear();
- }
-
- // <boundaryString>
- else if (localName == WSIConstants.ELEM_BOUNDARY_STRING)
- {
- boundary = new StringBuffer();
- currentElement = WSIConstants.ELEM_BOUNDARY_STRING;
- }
-
- // <mimeHeaders>
- else if (localName == WSIConstants.ELEM_MIME_HEADERS)
- {
- mimeHeaders = new StringBuffer();
- currentElement = WSIConstants.ELEM_MIME_HEADERS;
- }
-
- // <mimeContent>
- else if (localName == WSIConstants.ELEM_MIME_CONTENT)
- {
- mimeContent = new StringBuffer();
- currentElement = WSIConstants.ELEM_MIME_CONTENT;
- }
-
- // <senderHostAndPort>
- else if (localName == WSIConstants.ELEM_SENDER_HOST_AND_PORT)
- {
- senderHostAndPort = new StringBuffer();
- currentElement = WSIConstants.ELEM_SENDER_HOST_AND_PORT;
- }
-
- // <receiverHostAndPort>
- else if (localName == WSIConstants.ELEM_RECEIVER_HOST_AND_PORT)
- {
- receiverHostAndPort = new StringBuffer();
- currentElement = WSIConstants.ELEM_RECEIVER_HOST_AND_PORT;
- }
- }
-
- /**
- * Characters callback.
- */
- public void characters(char ch[], int start, int length)
- {
- // Ignoring CRLF that appears in log elements
- int altStart = start;
- int altLength = length;
- if (start > 0 && ch[start-1] == 13 && ch[start] == 10)
- {
- altStart++;
- altLength--;
- }
-
- // <wsi-monConfig:comment>
- if (monitorComment != null && currentElement == WSIConstants.ELEM_COMMENT)
- {
- monitorComment.append(ch, start, length);
- }
-
- // <messageContent>
- else if (messageContent != null
- && currentElement == WSIConstants.ELEM_MESSAGE_CONTENT)
- {
- messageContent.append(ch, start, length);
- }
-
- // <httpHeaders>
- else if (httpHeaders != null
- && currentElement == WSIConstants.ELEM_HTTP_HEADERS)
- {
- httpHeaders.append(ch, start, length);
- }
-
- // <boundaryString>
- else if (boundary != null
- && currentElement == WSIConstants.ELEM_BOUNDARY_STRING)
- {
- boundary.append(ch, altStart, altLength);
- }
-
- // <mimeHeaders>
- else if (mimeHeaders != null
- && currentElement == WSIConstants.ELEM_MIME_HEADERS)
- {
- mimeHeaders.append(ch, altStart, altLength);
- }
-
- // <mimeContent>
- else if (mimeContent != null
- && currentElement == WSIConstants.ELEM_MIME_CONTENT)
- {
- mimeContent.append(ch, altStart, altLength);
- }
-
- // <senderHostAndPort>
- else if (senderHostAndPort != null
- && currentElement == WSIConstants.ELEM_SENDER_HOST_AND_PORT)
- {
- senderHostAndPort.append(ch, start, length);
- }
-
- // <receiverHostAndPort>
- else if (receiverHostAndPort != null
- && currentElement == WSIConstants.ELEM_RECEIVER_HOST_AND_PORT)
- {
- receiverHostAndPort.append(ch, start, length);
- }
- }
-
- /**
- * End Element.
- */
- public void endElement(String namespaceURI, String localName, String qName)
- {
- // <wsi-config:comment>
- if (
- (localName == WSIConstants.ELEM_COMMENT)
- && (namespaceURI == WSIConstants.NS_URI_WSI_MONITOR_CONFIG))
- {
- // If we saved the comment, then process it and the log timestamp
- if (this.monitorComment != null)
- {
- ArtifactReference artifactReference = new ArtifactReferenceImpl();
- artifactReference.setTimestamp(this.logTimestamp);
- Comment comment = new CommentImpl();
- comment.setText(monitorComment.toString());
- artifactReference.setDocumentElement(
- comment,
- WSIConstants.NS_NAME_WSI_MONITOR_CONFIG);
- processArtifactReference(artifactReference);
- }
- }
-
- // <boundaryString>
- else if (localName == WSIConstants.ELEM_BOUNDARY_STRING)
- {
- // Adding boundary string to a list
- boundaries.add(boundary.toString());
- }
-
- // <mimePart>
- else if (localName == WSIConstants.ELEM_MIME_PART)
- {
- // Creating a MessageMIMEPart instance
- MimePart part = new MimePartImpl();
- part.setHeaders(mimeHeaders.toString());
- part.setContent(mimeContent.toString());
- part.setBoundaryStrings((String[])boundaries.toArray(new String[0]));
-
- mimeParts.addPart(part);
- }
-
- // <messageEntry>
- else if (localName == WSIConstants.ELEM_MESSAGE_ENTRY)
- {
- // Assumption: Related messages are sequentially available in the message log.
- if (MessageEntry.TYPE_REQUEST.equalsIgnoreCase(type))
- {
- // Create log entry
- MessageEntry messageEntryRequest =
- createMessageEntry(
- id,
- conversationID,
- type,
- timestamp,
- senderHostAndPort.toString(),
- receiverHostAndPort.toString(),
- messageContent == null ? "" : messageContent.toString(),
- httpHeaders.toString(),
- mimeParts,
- entryElementLocation);
-
- // Add log entry to the list
- messageEntryList.add(messageEntryRequest);
-
- // Request is now processed only when the response is received.
- }
-
- else if (MessageEntry.TYPE_RESPONSE.equalsIgnoreCase(type))
- {
- // Create log entry
- MessageEntry messageEntryResponse =
- createMessageEntry(
- id,
- conversationID,
- type,
- timestamp,
- senderHostAndPort.toString(),
- receiverHostAndPort.toString(),
- messageContent == null ? "" : messageContent.toString(),
- httpHeaders.toString(),
- mimeParts,
- entryElementLocation);
-
- // Add log entry to the list
- messageEntryList.add(messageEntryResponse);
-
- if (logEntryHandler != null)
- {
- // look up the request message
- // ISSUE : need to throw & catch a nullpointerexception in here...
- MessageEntry messageEntryRequest = findRelatedRequest(messageEntryResponse);
-
- if (messageEntryRequest != null)
- {
- // Create entry
- // ADD: Need to create entry from report
- //Entry entry = this.reporter.getReport().createEntry();
- Entry entry = new EntryImpl();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_MESSAGE_REQUEST));
- entry.setReferenceID(messageEntryRequest.getId());
- entry.setEntryDetail(messageEntryRequest);
-
- // Create the context for the request-response pair
- EntryContext requestTargetContext =
- new EntryContext(
- entry,
- messageEntryRequest,
- messageEntryResponse);
- if (requestTargetContext != null)
- processLogEntry(requestTargetContext);
- }
-
- // Create entry
- // ADD: Need to create entry from report
- //Entry entry = this.reporter.getReport().createEntry();
- Entry entry = new EntryImpl();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_MESSAGE_RESPONSE));
- entry.setReferenceID(messageEntryResponse.getId());
- entry.setEntryDetail(messageEntryResponse);
-
- EntryContext responseTargetContext =
- new EntryContext(
- entry,
- messageEntryRequest,
- messageEntryResponse);
- if (responseTargetContext != null)
- processLogEntry(responseTargetContext);
- }
- }
- }
-
- currentElement = null;
- }
-
- /**
- * End Document.
- */
- public void endDocument()
- {
- //If we want to serially process the log file. Invoke validateMessages with
- //msgValidator!=null. Here we have the option of clearing the logEntry vector
- //once message validation is done.
- //if (msgValidator!=null)
- //logEntryList.clear();
- }
-
- /**
- * Process the message in the log entry.
- */
- public void processLogEntry(EntryContext entryContext)
- {
- try
- {
- //Before validating any messages check if implementer is the first element.
- logEntryHandler.processLogEntry(entryContext);
- }
- catch (Exception e)
- {
- wsiException =
- new WSIException(
- "An error occurred while validating"
- + " the message logEntry: "
- + entryContext.getMessageEntry().getId(),
- e);
- }
- }
-
- /**
- * Process the artifact reference.
- */
- private void processArtifactReference(ArtifactReference artifactReference)
- {
- try
- {
- //Before validating any messages check if implementer is the first element.
- logEntryHandler.processArtifactReference(artifactReference);
- }
-
- catch (Exception e)
- {
- wsiException =
- new WSIException(
- "An error occurred while processing"
- + " the artifact reference: "
- + artifactReference.toString(),
- e);
- }
- }
-
- /**
- * Find the related Request LogEntry. The current rule for related log entires is
- * that a request will always precede its response.
- * ISSUE: Sequence in log file is timestamp driven (monitor spec).
- * Assertion is that for a given conversationID, a second request is not sent
- * until its response is received (chronologically).
- * This method will have to be modified if the rule changes.
- */
- // could be made more efficient by keeping a much smaller list of unresponded requests...
- public MessageEntry findRelatedRequest(MessageEntry logEntryResponse)
- {
- for (int entry = messageEntryList.size() - 1; entry >= 0; entry--)
- {
- // Get the log entry of the matching request
- MessageEntry logEntry = (MessageEntry) messageEntryList.get(entry);
- // Ignore own entry
- if (!logEntryResponse.equals(logEntry))
- {
- if (logEntryResponse
- .getConversationId()
- .equals(logEntry.getConversationId()))
- {
- // found the most recently read message with the same conversationID.
- // From above, this should be the corresponding request. Check as far as possible.
- if (logEntry.getType().equals(MessageEntry.TYPE_REQUEST))
- {
- return logEntry;
- }
- else
- {
- return null; // expected a request. need to throw an exception!
- }
- }
- }
- }
- return null;
- // conversationID match not found anywhere. need to throw an exception!
- }
-
- /**
- * Create log entry.
- */
- private MessageEntry createMessageEntry(
- String id,
- String conversationId,
- String type,
- String timestamp,
- String senderIPPort,
- String receiverIPPort,
- String messageContent,
- String httpHeaders,
- MimeParts mimeParts,
- ElementLocation elementLocation)
- {
- // Create log entry
- MessageEntry messageEntry = new MessageEntryImpl();
- messageEntry.setId(id);
- messageEntry.setConversationId(conversationID);
- messageEntry.setType(type);
- messageEntry.setTimestamp(timestamp);
- messageEntry.setSenderHostAndPort(senderIPPort);
- messageEntry.setReceiverHostAndPort(receiverIPPort);
- messageEntry.setHTTPHeaders(httpHeaders);
- messageEntry.setBOM(bom);
- messageEntry.setElementLocation(elementLocation);
-
- String encoding = null;
- if (mimeParts == null)
- {
- // Get the encoding for this message content
- encoding = Utils.getXMLEncoding(messageContent);
- messageEntry.setMessage(messageContent);
- messageEntry.setMimeContent(false);
- }
- else
- {
- messageEntry.setMimeParts(mimeParts);
- MimePart root = Utils.findRootPart(httpHeaders, mimeParts.getParts());
- if (root != null)
- {
- // Get the encoding for this message content
- encoding = Utils.getXMLEncoding(root.getContent());
- mimeParts.setRootPart(root);
- }
- // else empty body
- messageEntry.setMimeContent(true);
- }
- if ((encoding == null) || (encoding.equals("")))
- encoding = WSIConstants.DEFAULT_XML_ENCODING;
- messageEntry.setEncoding(encoding);
-
- return messageEntry;
- }
-
- } //End ContentHandler
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/LogWriterImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/LogWriterImpl.java
deleted file mode 100644
index 90ee98217..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/LogWriterImpl.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * 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.log.impl;
-
-import java.io.Writer;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.document.impl.DocumentWriterImpl;
-import org.eclipse.wst.wsi.internal.core.log.Log;
-import org.eclipse.wst.wsi.internal.core.log.LogWriter;
-
-/**
- * Defines the implementation used to write the Log file.
- *
- * @version 1.0.1
- * @author Neil Delima (nddelima@ca.ibm.com)
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class LogWriterImpl extends DocumentWriterImpl implements LogWriter
-{
- /**
- * @see org.eclipse.wst.wsi.internal.core.log.LogWriter#write(Log)
- */
- public synchronized void write(Log log)
- throws IllegalStateException, WSIException
- {
- // If the writer was not specified, then throw an exception
- if (writer == null)
- throw new IllegalStateException("Could not write log file since writer was not set.");
-
- // Write log file
- write(log, writer);
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.log.LogWriter#write(Log, Writer)
- */
- public synchronized void write(Log log, Writer writer) throws WSIException
- {
- // ADD:
- throw new WSIException("Write entire log file function not supported yet.");
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MessageEntryImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MessageEntryImpl.java
deleted file mode 100644
index afc7a3f3e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MessageEntryImpl.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*******************************************************************************
- * 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.log.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
-
-/**
- * Message entry implementation.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class MessageEntryImpl implements MessageEntry
-{
- /**
- * Log entry id.
- */
- protected String id;
-
- protected String conversationId;
- protected String type;
- protected String timestamp;
- protected String senderHostAndPort;
- protected String receiverHostAndPort;
- protected String message = "";
- protected String httpHeaders = "";
- protected int bom;
- protected String encoding = "";
- protected boolean isMimeContent = false;
- protected MimeParts mimeParts = new MimePartsImpl();
-
- protected ElementLocation elementLocation = null;
-
- /**
- * Empty constructor.
- */
- public MessageEntryImpl()
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.LogEntry#getId()
- */
- public String getId()
- {
- return this.id;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.LogEntry#setId(String)
- */
- public void setId(String id)
- {
- this.id = id;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.LogEntry#getConversationId()
- */
- public String getConversationId()
- {
- return this.conversationId;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.LogEntry#setConversationId(String)
- */
- public void setConversationId(String conversationId)
- {
- this.conversationId = conversationId;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.LogEntry#getTimestamp()
- */
- public String getTimestamp()
- {
- return this.timestamp;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.LogEntry#setTimestamp(String)
- */
- public void setTimestamp(String timestamp)
- {
- this.timestamp = timestamp;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.LogEntry#getType()
- */
- public String getType()
- {
- return this.type;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.LogEntry#setType(String)
- */
- public void setType(String type)
- {
- this.type = type;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.LogEntry#getSenderHostAndPort()
- */
- public String getSenderHostAndPort()
- {
- return this.senderHostAndPort;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.LogEntry#setSenderHostAndPort(String)
- */
- public void setSenderHostAndPort(String senderHostAndPort)
- {
- this.senderHostAndPort = senderHostAndPort;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.LogEntry#getReceiverHostAndPort()
- */
- public String getReceiverHostAndPort()
- {
- return this.receiverHostAndPort;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.LogEntry#setReceiverHostAndPort(String)
- */
- public void setReceiverHostAndPort(String receiverHostAndPort)
- {
- this.receiverHostAndPort = receiverHostAndPort;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.LogEntry#getMessage()
- */
- public String getMessage()
- {
- if (!this.isMimeContent)
- return this.message;
- else
- {
- if (this.mimeParts.getRootPart() == null) return "";
- else return this.mimeParts.getRootPart().getContent();
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.LogEntry#setMessage(String)
- */
- public void setMessage(String message)
- {
- this.message = message;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.LogEntry#setEncoding(String)
- */
- public void setEncoding(String encoding)
- {
- this.encoding = encoding;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.MessageEntry#getBOM()
- */
- public int getBOM()
- {
- return bom;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.MessageEntry#setBOM(int)
- */
- public void setBOM(int bom)
- {
- this.bom = bom;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.LogEntry#getHTTPHeaders()
- */
- public String getHTTPHeaders()
- {
- return this.httpHeaders;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.LogEntry#setHTTPHeaders(String)
- */
- public void setHTTPHeaders(String httpHeaders)
- {
- this.httpHeaders = httpHeaders;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.MessageEntry#getElementLocation()
- */
- public ElementLocation getElementLocation()
- {
- return this.elementLocation;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.MessageEntry#setElementLocation(org.wsi.xml.dom.ElementLocation)
- */
- public void setElementLocation(ElementLocation elementLocation)
- {
- this.elementLocation = elementLocation;
- }
-
- /**
- * Get string representation of this object.
- */
- public String toString()
- {
- return toXMLString(WSIConstants.NS_NAME_WSI_LOG);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentElement#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- // ADD: Need to add way to indicate XML schema type for logEntry
- // Add log entry
- pw.print("<" + nsName + ELEM_NAME + " ");
- pw.print(
- "xsi:type=\"httpMessageEntry\" ");
- pw.print(WSIConstants.ATTR_ID_UC + "=\"" + id + "\" ");
- pw.print(
- WSIConstants.ATTR_CONVERSATION_ID + "=\"" + conversationId + "\" ");
- pw.print(WSIConstants.ATTR_TYPE + "=\"" + type + "\" ");
- pw.println(WSIConstants.ATTR_TIMESTAMP + "=\"" + timestamp + "\">");
-
- if (isMimeContent())
- {
- // Add message content with attachments element
- pw.print("<" + nsName + WSIConstants.ELEM_MESSAGE_CONTENT_WITH_ATTACHMENTS);
- if (bom != 0)
- pw.print(" " + WSIConstants.ATTR_BOM + "=\"" + bom + "\"");
- pw.print(">");
-
- Collection partList = mimeParts.getParts();
- if (!partList.isEmpty())
- {
- Iterator iMimeParts = partList.iterator();
- while (iMimeParts.hasNext())
- {
- MimePart mimePart = (MimePart)iMimeParts.next();
- pw.print(mimePart.toXMLString(namespaceName));
- }
- }
-
- // Add end message element
- pw.println("</" + nsName + WSIConstants.ELEM_MESSAGE_CONTENT_WITH_ATTACHMENTS + ">");
- }
- else
- {
- // Add message content element
- pw.print("<" + nsName + WSIConstants.ELEM_MESSAGE_CONTENT);
- if (bom != 0)
- pw.print(" " + WSIConstants.ATTR_BOM + "=\"" + bom + "\"");
- pw.print(">");
-
- // Add encoded message
- pw.print(XMLUtils.xmlEscapedString(message));
-
- // Add end message element
- pw.println("</" + nsName + WSIConstants.ELEM_MESSAGE_CONTENT + ">");
- }
-
- // Add senderIPPort element
- pw.println(
- "<"
- + nsName
- + WSIConstants.ELEM_SENDER_HOST_AND_PORT
- + ">"
- + senderHostAndPort
- + "</"
- + nsName
- + WSIConstants.ELEM_SENDER_HOST_AND_PORT
- + ">");
-
- // Add receiverIP element
- pw.println(
- "<"
- + nsName
- + WSIConstants.ELEM_RECEIVER_HOST_AND_PORT
- + ">"
- + receiverHostAndPort
- + "</"
- + nsName
- + WSIConstants.ELEM_RECEIVER_HOST_AND_PORT
- + ">");
-
- // Add HTTPHeaders element
- pw.print("<" + nsName + WSIConstants.ELEM_HTTP_HEADERS + ">");
-
- // ADD: Does this string need to be XML encoded?
- // Add HTTP headers
- pw.print(XMLUtils.xmlEscapedString(httpHeaders));
-
- // End HTTPHeaders element
- pw.println("</" + nsName + WSIConstants.ELEM_HTTP_HEADERS + ">");
-
- // End log entry
- pw.println("</" + nsName + ELEM_NAME + ">");
-
- // Return string
- return sw.toString();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.MessageEntry#isMimeContent()
- */
- public boolean isMimeContent()
- {
- return isMimeContent;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.MessageEntry#setMimeContent()
- */
- public void setMimeContent(boolean isMimeContent)
- {
- this.isMimeContent = isMimeContent;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.MessageEntry#getMIMEParts()
- */
- public MimeParts getMimeParts()
- {
- return mimeParts;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.MessageEntry#setMimeParts()
- */
- public void setMimeParts(MimeParts mimeParts)
- {
- this.mimeParts = mimeParts;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MimePartImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MimePartImpl.java
deleted file mode 100644
index 5025fce30..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MimePartImpl.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Created on Nov 22, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.wst.wsi.internal.core.log.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-
-/**
- * @author lauzond
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class MimePartImpl implements MimePart
-{
- private String mimeContent;
- private String mimeHeaders;
- private String[] boundaryStrings = new String[0];
-
- public MimePartImpl ()
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.MimePart#getContent()
- */
- public String getContent()
- {
- return this.mimeContent;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.MimePart#setContent(String)
- */
- public void setContent(String mimeContent)
- {
- this.mimeContent = mimeContent;
- }
-
- /**
- /* (non-Javadoc)
- * @see org.eclipse.wst.wsi.internal.core.log.MimePart#getHeaders()
- */
- public String getHeaders()
- {
- return this.mimeHeaders;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.MimePart#setHeaders(String)
- */
- public void setHeaders(String mimeHeaders)
- {
- this.mimeHeaders = mimeHeaders;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.MimePart#getBoundaryStrings()
- */
- public String[] getBoundaryStrings()
- {
- return this.boundaryStrings;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.MimePart#setBoundaryStrings(String[])
- */
- public void setBoundaryStrings(String[] boundaryStrings)
- {
- this.boundaryStrings = boundaryStrings;
- }
-
- /**
- * Get string representation of this object.
- */
- public String toString()
- {
- return toXMLString(WSIConstants.NS_NAME_WSI_LOG);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentElement#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- // Add mimePart element
- pw.println("<" + nsName + WSIConstants.ELEM_MIME_PART + ">");
-
- // Add boundary string element
- for (int i = 0; i < boundaryStrings.length; i++)
- {
- pw.print("<" + nsName + WSIConstants.ELEM_BOUNDARY_STRING + ">");
- pw.print(boundaryStrings[i]);
- pw.println("</" + nsName + WSIConstants.ELEM_BOUNDARY_STRING + ">");
- }
-
- // Add mimeHeaders element
- pw.print("<" + nsName + WSIConstants.ELEM_MIME_HEADERS + ">");
- pw.print(XMLUtils.xmlEscapedString(mimeHeaders));
- pw.println("</" + nsName + WSIConstants.ELEM_MIME_HEADERS + ">");
-
- // Add encoded content
- pw.print("<" + nsName + WSIConstants.ELEM_MIME_CONTENT + ">");
- if ((mimeContent.indexOf("<") != -1) ||
- (mimeContent.indexOf(">") != -1) ||
- (mimeContent.indexOf("\"") != -1) ||
- (mimeContent.indexOf("\'") != -1))
- pw.print(XMLUtils.xmlEscapedString(mimeContent));
- else
- pw.print(getContent());
- pw.println("</" + nsName + WSIConstants.ELEM_MIME_CONTENT + ">");
-
- // Add end message element
- pw.println("</" + nsName + WSIConstants.ELEM_MIME_PART + ">");
-
- // Return string
- return sw.toString();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MimePartsImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MimePartsImpl.java
deleted file mode 100644
index d3392c1a9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MimePartsImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * 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.log.impl;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-
-/**
- * MimePartsImpl class.
- *
- * @version 1.0.1
- * @author David Lauzon (lauzond@ca.ibm.com)
- */
-public class MimePartsImpl implements MimeParts
-{
-
- protected MimePart rootPart;
- protected Collection mimeParts = new ArrayList();
-
- public MimePartsImpl()
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.MimeParts#getRootPart()
- */
- public MimePart getRootPart()
- {
- return rootPart;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.MimeParts#setRootPart(MimePart)
- */
- public void setRootPart(MimePart rootPart)
- {
- this.rootPart = rootPart;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.MimeParts#count()
- */
- public int count()
- {
- return mimeParts.size();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.MimeParts#addPart(MimePart)
- */
- public void addPart(MimePart part)
- {
- if (part != null)
- mimeParts.add(part);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.log.MimeParts#getParts()
- */
- public Collection getParts()
- {
- return mimeParts;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ChunkedData.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ChunkedData.java
deleted file mode 100644
index c6b1a01a5..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ChunkedData.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * 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.monitor;
-
-/**
- * This class will process chunked data.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class ChunkedData
-{
- protected boolean moreChunkedData = false;
- protected String chunkedData = "";
- protected SocketHandler socketHandler = null;
-
- /**
- * Constructs a ChunkedData object.
- */
- public ChunkedData()
- {
- }
-
- /**
- * Constructs a ChunkedData object.
- * @param socketHandler socket handler.
- * @param moreChunkedData chunked data.
- */
- public ChunkedData(SocketHandler socketHandler, boolean moreChunkedData)
- {
- this.socketHandler = socketHandler;
- this.moreChunkedData = moreChunkedData;
- }
-
- /**
- * Constructs a ChunkedData object.
- * @param socketHandler socket handler.
- * @param chunkedData chunked data.
- */
- public ChunkedData(SocketHandler socketHandler, String chunkedData)
- {
- this.socketHandler = socketHandler;
- this.chunkedData = chunkedData;
- this.moreChunkedData = checkData(chunkedData);
- }
-
- /**
- * Add the chunked data to the buffer.
- * @param chunkedData chunked data.
- */
- public void addData(String chunkedData)
- {
- this.chunkedData += chunkedData;
- this.moreChunkedData = checkData(chunkedData);
- }
-
- /**
- * Get data buffer.
- * @return data buffer.
- */
- public String getData()
- {
- return this.chunkedData;
- }
-
- /**
- * Clear data buffer.
- */
- public void clearData()
- {
- this.chunkedData = "";
- }
-
- /**
- * Returns true if there is more chunked data.
- * @return true if there is more chunked data.
- */
- public boolean isMoreChunkedData()
- {
- return this.moreChunkedData;
- }
-
- /**
- * Decode and add data to the buffer.
- * @param messageBuffer a StringBuffer object.
- * @return true if data is added to the buffer.
- */
- public boolean decodeAndAddDataToBuffer(StringBuffer messageBuffer)
- {
- boolean moreChunkedData = false;
- if (!this.moreChunkedData)
- {
- // DEBUG:
- debug("decodeAndAddDataToBuffer", "chunkedData: " + chunkedData);
-
- moreChunkedData = decodeData(chunkedData, messageBuffer);
- }
-
- return moreChunkedData;
- }
-
- /**
- * Check data.
- */
- private boolean checkData(String chunkedData)
- {
- boolean moreChunkedData = false;
- // Look for [CRLF][0][CRLF] in the chunked data
- if (chunkedData.indexOf(SocketHandler.CRLF + "0" + SocketHandler.CRLF) != -1)
- {
- moreChunkedData = false;
-
- // DEBUG:
- debug(
- "checkData",
- "Chunk contains [CRLF][0][CRLF], so there is no more data.");
- }
-
- // Look for [0][CRLF] at start of chunked data
- else if (chunkedData.startsWith("0" + SocketHandler.CRLF))
- {
- moreChunkedData = false;
-
- // DEBUG:
- debug(
- "checkData",
- "Chunk data starts with [0][CRLF], so there is no more data.");
- }
-
- // Otherwise step through it to see if we have all of the data
- else
- {
- moreChunkedData = true;
- }
-
- return moreChunkedData;
- }
-
- /**
- * Decode chunked data.
- *
- * Data format:
- * <pre>
- * [Chunk Size][CRLF][Data Chunk][CRLF][Chunk Size][CRLF][Data Chunk][CRLF]...[0][CRLF][Optional Footer][CRLF]
- * </pre>
- *
- * @param chunkedData
- * @param messageLoggingBuffer
- */
- private boolean decodeData(String chunkedData, StringBuffer messageBuffer)
- {
- boolean endOfData = false;
- int nextIndex = 0;
- int prevIndex = 0;
- int chunkSize = 0;
-
- String nextChunkData = null;
-
- // Process each chunk of data
- while (!(endOfData)
- && (nextIndex < chunkedData.length())
- && (nextIndex = chunkedData.indexOf(SocketHandler.CRLF, prevIndex)) != -1)
- {
- // Get the data length which is right after this
- String hexChunkedSize = chunkedData.substring(prevIndex, nextIndex);
-
- // Decode length
- chunkSize = Integer.decode("0x" + hexChunkedSize).intValue();
-
- // DEBUG:
- debug("decodeData", "chunkedSize: " + chunkSize);
-
- // If size is zero, then we have hit the end of the chunked data
- if (chunkSize == 0)
- {
- endOfData = true;
- }
-
- // If we don't have all of the data then stop
- else if (nextIndex + 2 + chunkSize > chunkedData.length())
- {
- break;
- }
-
- else
- {
- nextChunkData =
- chunkedData.substring(nextIndex + 2, nextIndex + 2 + chunkSize);
-
- // DEBUG:
- debug("decodeData", "nextChunkData: " + nextChunkData);
-
- // Get message based on length
- if (messageBuffer != null)
- messageBuffer.append(nextChunkData);
- }
-
- // Point at the next chunk size
- prevIndex = nextIndex + 2 + chunkSize + 2;
- }
-
- return endOfData;
- }
-
- /**
- * Debug.
- */
- private void debug(String method, String message)
- {
- this.socketHandler.debug("ChunkedData", method, message);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ConnectionListener.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ConnectionListener.java
deleted file mode 100644
index f48ce9e48..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ConnectionListener.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.monitor;
-
-/**
- * This interface is for receiving connection events.
- *
- * @author Sergey Suhoruchkin
- * @version 1.0.1
- */
-public interface ConnectionListener
-{
- /**
- * Invoked when connection is closed.
- * @param connection socket connection.
- */
- public void connectionClosed(SocketConnection connection);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/MessageEntryQueue.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/MessageEntryQueue.java
deleted file mode 100644
index 49cc049f6..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/MessageEntryQueue.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*******************************************************************************
- * 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.monitor;
-
-import java.io.StringReader;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.Log;
-import org.eclipse.wst.wsi.internal.core.log.LogWriter;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-
-/**
- * This class is the queue that is used to write request and response messages
- * to the log file in the correct order.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class MessageEntryQueue
-{
- /**
- * Request type message entry queue.
- */
- protected Vector requestList = new Vector();
-
- /**
- * Response type message entry queue.
- */
- protected Vector responseList = new Vector();
-
- /**
- * Monitor.
- */
- protected Monitor monitor = null;
-
- /**
- * Log file.
- */
- protected Log log = null;
-
- /**
- * Log writer.
- */
- protected LogWriter logWriter = null;
-
- /**
- * List lock.
- */
- protected String listLock = "listLock";
-
- /**
- * Message ID which is incremented when a new log entry is added to the log file.
- */
- protected int messageId = 1;
-
- /**
- * Create message entry queue.
- * @param monitor a monitor.
- * @param log the log.
- * @param logWriter a log writer.
- */
- public MessageEntryQueue(Monitor monitor, Log log, LogWriter logWriter)
- {
- // Save input references
- this.monitor = monitor;
- this.log = log;
- this.logWriter = logWriter;
- }
-
- /**
- * Add log entry to queue.
- * @param messageEntry a message entry.
- * @throws WSIException is there is a problem adding the log
- * entry to the queue.
- */
- public synchronized void addMessageEntry(MessageEntry messageEntry)
- throws WSIException
- {
- synchronized (listLock)
- {
- // If this is a request type of message entry, then add to request list
- if (messageEntry.getType().equals(MessageEntry.TYPE_REQUEST))
- {
- requestList.add(messageEntry);
- }
-
- // Otherwise this is a response type of message entry
- else
- {
- responseList.add(messageEntry);
- }
- }
-
- // Tell the log entry writer thread to run
- writeFromQueue();
- }
-
- /**
- * Determine if any log entries need to be written.
- * @throws WSIException is there is a problem adding log entries.
-
- */
- public synchronized void writeFromQueue() throws WSIException
- {
- MessageEntry requestMessageEntry = null;
- MessageEntry responseMessageEntry = null;
- boolean responseFound = false;
-
- // Create array that will contain list of index to remove from request list
- int[] requestIndexList = new int[requestList.size()];
- int reqIndexCount = 0;
-
- synchronized (listLock)
- {
- // If there are entries in the request queue,
- // then try to match them with entries in the response queue
- for (int reqIndex = 0; reqIndex < requestList.size(); reqIndex++)
- {
- // Get request log entry
- requestMessageEntry = (MessageEntry) requestList.elementAt(reqIndex);
-
- // Check each response log entry to see if the conversationId matches
- responseFound = false;
- for (int respIndex = 0;
- respIndex < responseList.size() && !responseFound;
- respIndex++)
- {
- // Get response log entry
- responseMessageEntry =
- (MessageEntry) responseList.elementAt(respIndex);
-
- // If the request and response have the same conversationId,
- // then write them out to the log file
- if (requestMessageEntry
- .getConversationId()
- .equals(responseMessageEntry.getConversationId()))
- {
- responseFound = true;
-
- // Set the id for the log entries
- requestMessageEntry.setId(getNextMessageId());
- responseMessageEntry.setId(getNextMessageId());
-
- // Write out request and then response
- //==== SS start : what this line is used for??? - causes memory leak, as no removeLogEntry is called ====
- // log.addLogEntry(requestMessageEntry);
- //==== SS end ===
- StringReader requestReader =
- new StringReader(requestMessageEntry.toXMLString(""));
- logWriter.write(requestReader);
-
- // Display message
- printMessage(requestMessageEntry);
-
- // Write out response
- //==== SS start : what this line is used for??? - causes memory leak, as no removeLogEntry is called ====
- // log.addLogEntry(responseMessageEntry);
- //==== SS end ===
- StringReader responseReader =
- new StringReader(responseMessageEntry.toXMLString(""));
- logWriter.write(responseReader);
-
- // Display message
- printMessage(responseMessageEntry);
-
- // Add request to list so that it can be removed later
- requestIndexList[reqIndexCount++] = reqIndex;
-
- // Remove log entry from response list
- responseList.remove(respIndex);
- }
- }
- }
-
- // Remove requests that were written out
- for (int count = 0; count < reqIndexCount; count++)
- requestList.remove(requestIndexList[count]);
- }
- }
-
- /**
- * Get the next message identifier.
- * @return the next message identifier.
- */
- protected synchronized String getNextMessageId()
- {
- return String.valueOf(messageId++);
- }
-
- /**
- * Display message.
- * @param messageEntry a message entry.
- */
- protected void printMessage(MessageEntry messageEntry)
- {
- // Display message
- monitor.printMessage(
- "log01",
- messageEntry.getId()
- + ", "
- + messageEntry.getType()
- + ", "
- + messageEntry.getSenderHostAndPort(),
- "Log message entry - ID: "
- + messageEntry.getId()
- + ", Type: "
- + messageEntry.getType()
- + ", Sender: "
- + messageEntry.getSenderHostAndPort());
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/Monitor.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/Monitor.java
deleted file mode 100644
index 59e2fd67f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/Monitor.java
+++ /dev/null
@@ -1,505 +0,0 @@
-/*******************************************************************************
- * 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.monitor;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.Iterator;
-import java.util.Vector;
-
-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.document.DocumentFactory;
-import org.eclipse.wst.wsi.internal.core.log.Log;
-import org.eclipse.wst.wsi.internal.core.log.LogWriter;
-import org.eclipse.wst.wsi.internal.core.monitor.config.ManInTheMiddle;
-import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfig;
-import org.eclipse.wst.wsi.internal.core.monitor.config.Redirect;
-import org.eclipse.wst.wsi.internal.core.util.MessageList;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-
-/**
- * Message Monitor.
- *
- * @author Peter Brittenham (peterbr.us.ibm.com)
- */
-
-public class Monitor
-{
- /**
- * Message list.
- */
- protected MessageList messageList = null;
-
- private final static String RESOURCE_BUNDLE_NAME =
- "org.wsi.test.monitor.Monitor";
-
- public final static String USAGE_MESSAGE =
- "Usage: Monitor -config <configFilename>";
-
- /**
- * Converstation ID.
- */
- private int conversationId = 1;
-
- private Log log = null;
- private LogWriter logWriter = null;
- private MonitorConfig monitorConfig = null;
-
- /**
- * Tool information.
- */
- public static final String TOOL_NAME = "Monitor";
-
- protected ToolInfo toolInfo = null;
-
- protected Vector listenerList = new Vector();
-
- protected MessageEntryQueue messageEntryQueue = null;
-
- /**
- * Message monitor.
- * @param args command line arguments.
- * @throws WSIException if there is a problem creating a Monitor object.
- */
- public Monitor(String[] args) throws WSIException
- {
- // Create message list
- this.messageList = new MessageList(RESOURCE_BUNDLE_NAME);
-
- // Tool information
- toolInfo = new ToolInfo(TOOL_NAME);
-
- // Create document factory
- DocumentFactory documentFactory = DocumentFactory.newInstance();
-
- // Get new config object
- monitorConfig = documentFactory.newMonitorConfig();
- monitorConfig.init(this.messageList);
-
- // Parse command line arguments
- monitorConfig.parseArgs(args);
-
- String logLocation = monitorConfig.getLogLocation();
- if (logLocation.indexOf(WSIConstants.PATH_SEPARATOR) > -1)
- {
- throw new WSIException(
- messageList.getMessage(
- "config11",
- monitorConfig.getLogLocation(),
- "The log file location value cannot contain the pass separator character:"));
- }
-
- File file = null;
- try
- {
- // Get file object for log file
- file = new File(monitorConfig.getLogLocation());
- }
-
- catch (Exception e)
- {
- throw new WSIException(
- messageList.getMessage("config07", "Could not get log file location."),
- e);
- }
-
- // If replace flag is false and file exists, then throw exception
- if (file.exists() && !monitorConfig.getReplaceLog())
- {
- throw new IllegalArgumentException(
- messageList.getMessage(
- "config08",
- monitorConfig.getLogLocation(),
- "Log file already exists:"));
- }
-
- try
- {
- // Create output file
- log = documentFactory.newLog();
-
- // Set style sheet string
- log.setStyleSheetString(
- monitorConfig.getAddStyleSheet().getStyleSheetString());
-
- // Get log writer
- logWriter = documentFactory.newLogWriter();
- logWriter.setWriter(monitorConfig.getLogLocation());
-
- // Write start of log file
- logWriter.write(new StringReader(log.getStartXMLString("")));
-
- // Write monitor tool information
- logWriter.write(new StringReader(toXMLString("")));
-
- // Create log entry queue
- messageEntryQueue = new MessageEntryQueue(this, log, logWriter);
- }
-
- catch (Exception e)
- {
- throw new WSIException(
- messageList.getMessage(
- "error03",
- "Could not create log or log writer."),
- e);
- }
-
- // Get manInTheMiddle settings
- ManInTheMiddle manInTheMiddle = monitorConfig.getManInTheMiddle();
-
- // Get list of redirects
- Iterator iterator = manInTheMiddle.getRedirectList().iterator();
-
- // Process each redirect
- Redirect redirect;
- while (iterator.hasNext())
- {
- // Get next redirect
- redirect = (Redirect) iterator.next();
-
- // Create server socket socket listener
- listenerList.add(new ServerSocketListener(this, redirect));
- }
-
- // Add shutdown hook
- Runtime.getRuntime().addShutdownHook(new ShutdownHook());
-
- // Create and start console
- Console console = new Console();
- console.start();
- }
-
- /**
- * Get the monitor config file.
- * @return the monitor config file.
- */
- public MonitorConfig getMonitorConfig()
- {
- return monitorConfig;
- }
-
- /**
- * Get the log object.
- * @return the log object.
- */
- public Log getLog()
- {
- return this.log;
- }
-
- /**
- * Get the log entry queue object.
- * @return the log entry queue object.
- */
- public MessageEntryQueue getMessageEntryQueue()
- {
- return this.messageEntryQueue;
- }
-
- /**
- * Terminate the monitor.
- */
- void exitMonitor()
- {
- printMessage("stopping01", "Stopping the monitor...");
- System.exit(0);
- }
-
- /**
- * Stop the monitor because an exception occurred.
- */
- void exitMonitor(Exception e)
- {
- // Display error message
- printMessage(
- "stopping02",
- "Stopping monitor because an exception occurred.");
- System.err.println("EXCEPTION: " + e.toString());
- if (this.monitorConfig.getVerboseOption())
- e.printStackTrace();
-
- // Exit monitor
- exitMonitor();
- }
-
- /**
- * Stop the monitor.
- */
- void stopMonitor()
- {
- try
- {
- // Get list of listeners to stop
- Iterator iterator = listenerList.iterator();
-
- while (iterator.hasNext())
- {
- ((ServerSocketListener) iterator.next()).shutdown();
- }
-
- // Wait for the cleanup timeout seconds
- Thread.sleep(monitorConfig.getTimeout() * 1000);
-
- // Write end of log file
- if (logWriter != null)
- {
- logWriter.write(new StringReader(log.getEndXMLString("")));
-
- logWriter.close();
- }
- }
-
- catch (Exception e)
- {
- // ADD: How should this execption be handled?
- }
-
- printMessage("stopped01", "Monitor stopped.");
- }
-
- /**
- * Command line interface.
- * @param args command line arguments.
- */
- public static void main(String[] args)
- {
- Monitor monitor = null;
-
- try
- {
- if (args.length < 2)
- {
- staticPrintMessage("usage01", USAGE_MESSAGE);
- System.exit(1);
- }
-
- if (!args[0].equalsIgnoreCase("-config"))
- {
- staticPrintMessage("usage01", USAGE_MESSAGE);
- System.exit(1);
- }
-
- // Run the monitor
- monitor = new Monitor(args);
- }
-
- catch (Exception e)
- {
- boolean printStackTrace = true;
- String messageID;
- String defaultMessage;
- String messageData;
-
- if ((e instanceof WSIFileNotFoundException)
- || (e instanceof IllegalArgumentException))
- {
- printStackTrace = false;
- messageID = "error01";
- defaultMessage = "Monitor Error:";
- messageData = e.getMessage();
- }
-
- else
- {
- printStackTrace = true;
- messageID = "error02";
- defaultMessage = "Monitor Stopped By Exception:";
- messageData = e.toString();
- }
-
- if (monitor != null)
- monitor.printMessage(messageID, messageData, defaultMessage);
- else
- Monitor.staticPrintMessage(messageID, messageData, defaultMessage);
-
- if (printStackTrace)
- e.printStackTrace();
-
- // Exit
- if (monitor != null)
- monitor.exitMonitor();
- else
- System.exit(2);
- }
- }
-
- /**
- * Print a message from the resource bundle.
- * @param key a key.
- * @param defaultMessage a default message.
- */
- public void printMessage(String key, String defaultMessage)
- {
- printMessage(key, null, defaultMessage);
- }
-
- /**
- * Print a message from the resource bundle.
- * @param key a key.
- * @param messageData message data.
- * @param defaultMessage a default message.
- */
- public void printMessage(
- String key,
- String messageData,
- String defaultMessage)
- {
- messageList.printMessage(key, messageData, defaultMessage);
- }
-
- /**
- * Print message.
- * @param key a key.
- * @param defaultMessage a default message.
- */
- public static void staticPrintMessage(String key, String defaultMessage)
- {
- staticPrintMessage(key, null, defaultMessage);
- }
-
- /**
- * Print message.
- * @param key a key.
- * @param messageData message data.
- * @param defaultMessage a default message.
-
- */
- public static void staticPrintMessage(
- String key,
- String messageData,
- String defaultMessage)
- {
- MessageList.printMessage(
- RESOURCE_BUNDLE_NAME,
- key,
- messageData,
- defaultMessage);
- }
-
- /**
- * Get the next conversation identifier.
- * @return the next conversation identifier.
- */
- synchronized int getNextConversationId()
- {
- return conversationId++;
- }
-
- /**
- * Return XML string representation of this object.
- * @param namespaceName namespace prefix.
- * @return XML string representation of this object.
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- // Start
- pw.print(toolInfo.getStartXMLString(namespaceName));
-
- // Config
- pw.print(
- monitorConfig.toXMLString(WSIConstants.NS_NAME_WSI_MONITOR_CONFIG));
-
- // End
- pw.println(toolInfo.getEndXMLString(namespaceName));
-
- return sw.toString();
- }
-
- /**
- * Shutdown hook.
- */
- class ShutdownHook extends Thread
- {
- /**
- * Run shutdown procedure.
- */
- public void run()
- {
- stopMonitor();
- }
- }
-
- /**
- * Run command from console.
- */
- class Console extends Thread
- {
- /**
- * Prompt user and wait for input.
- */
- public void run()
- {
- // Get the exit string
- String exitString = messageList.getMessage("exit01", "exit");
-
- // Display options and how to stop application
- TestUtils.printToolInfo(toolInfo);
- System.out.print(monitorConfig.toString());
- System.out.println(" ");
- printMessage(
- "start01",
- "The "
- + toolInfo.getName()
- + " tool is ready to intercept and log web service messages.");
- printMessage(
- "start02",
- "Type \"exit\" to stop the " + toolInfo.getName() + ".");
- System.out.println(" ");
-
- // Get the time to stop accepting connections
- long stopTime =
- System.currentTimeMillis() + (monitorConfig.getLogDuration() * 1000);
- // SS
-
- try
- {
- // Get stdin as a buffered reader
- BufferedReader reader =
- new BufferedReader(new InputStreamReader(System.in));
-
- // Process input from console
- boolean exit = false;
- while ((!exit) && (System.currentTimeMillis() < stopTime))
- { // SS
- // Sleep
- Thread.sleep(500);
-
- // Check for user input
- if (reader.ready())
- {
- if (reader.readLine().equalsIgnoreCase(exitString))
- exit = true;
- }
- }
- }
-
- catch (Exception e)
- {
- // ADD: How should this be handled?
- System.err.println(e.toString());
- }
-
- // Exit
- exitMonitor();
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/Monitor.properties b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/Monitor.properties
deleted file mode 100644
index d4d606cb5..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/Monitor.properties
+++ /dev/null
@@ -1,38 +0,0 @@
-# /*******************************************************************************
-# * 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
-# *******************************************************************************/
-
-#
-# Monitor message resource bundle.
-#
-usage01=Usage: Monitor -config <configFilename>
-stopped01=Monitor stopped.
-error01=Monitor Error:
-error02=Monitor Stopped By Exception:
-error03=Could not create log or log writer.
-error04=Monitor cannot connect to a redirect host:
-stopping01=Stopping the monitor...
-stopping02=Stopping monitor because an exception occurred.
-log01=Log message entry [ID, Type, Sender]:
-start01=The Monitor tool is ready to intercept and log web service messages.
-start02=Type "exit" to stop the Monitor.
-exit01=exit
-config01=The specified option is not supported:
-config02=Monitor configuration file was not found. Specified file location:
-config03=Could not read monitor configuration file. Specified file location:
-config04=Element must contain an integer value. Element name:
-config05=Monitor configuration file did not contain any redirect statements.
-config06=Monitor configuration file did not contain the log file URI.
-config07=Could not get log file location.
-config08=Log file already exists. Specified file location:
-config09=Element is missing. Element name:
-config10=Parameter value can't be negative. Element name:
-config11=The log file location value cannot contain the pass separator character:
-
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ServerSocketListener.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ServerSocketListener.java
deleted file mode 100644
index 7516c8c0b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ServerSocketListener.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * 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.monitor;
-
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.monitor.config.Redirect;
-
-/**
- * A server socket listener.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class ServerSocketListener
- extends Thread
- implements ConnectionListener // SS
-{
- protected Monitor monitor = null;
- protected Redirect redirect = null;
-
- protected ServerSocket serverSocket = null;
- protected boolean stopServerSocket = false;
-
- protected Vector connectionList = new Vector();
-
- /**
- * Create server socket listener.
- * @param monitor a Monitor object.
- * @param redirect a Redirect object.
- */
- public ServerSocketListener(Monitor monitor, Redirect redirect)
- {
- this.monitor = monitor;
- this.redirect = redirect;
-
- // Start listening
- start();
- }
-
- /**
- * Run the thread and listen for a connection on the socket.
- */
- public void run()
- {
- try
- {
- // Create server socket
- serverSocket =
- new ServerSocket(
- redirect.getListenPort(),
- redirect.getMaxConnections());
- // SS
-
- // Set timeout so that server socket will continue to accept connections
- serverSocket.setSoTimeout(0);
-
- // Listen for connections until interrupted
- while (!stopServerSocket)
- {
- // Accept connections
- Socket socket = serverSocket.accept();
-
- // If the server socket was NOT stopped, process connection
- if (!stopServerSocket)
- {
- // Create new connection
- SocketConnection socketConnection =
- new SocketConnection(this.monitor, this.redirect, socket);
-
- //register as a listener
- socketConnection.addConnectionListener(this); // SS
-
- // Add to connection list
- connectionList.add(socketConnection);
- }
- }
- }
-
- catch (Exception e)
- {
- // If the exception was NOT caused by closing the socket, then stop monitor
- if (!e.getMessage().equals("socket closed"))
- {
- monitor.exitMonitor(e);
- }
- }
- }
-
- /**
- * Stop listening for a connection on the socket.
- */
- public void shutdown()
- {
- try
- {
- // Shutdown all active connections
- Iterator iterator = connectionList.iterator();
- while (iterator.hasNext())
- {
- ((SocketConnection) iterator.next()).shutdown();
- }
-
- // Tell the server socket listening thread to stop
- this.stopServerSocket = true;
-
- // Set the server socket timeout to 1 ms
- serverSocket.setSoTimeout(1);
-
- // Close the server socket
- if (serverSocket != null)
- serverSocket.close();
- }
-
- catch (Exception e)
- {
- }
- }
-
- // ==== SS start ====
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.ConnectionListener#connectionClosed()
- */
- public void connectionClosed(SocketConnection connection)
- {
- connectionList.remove(connection);
- }
- // ==== SS end ====
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/SocketConnection.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/SocketConnection.java
deleted file mode 100644
index fe2a0f4cf..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/SocketConnection.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*******************************************************************************
- * 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.monitor;
-
-import java.net.Socket;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-import org.eclipse.wst.wsi.internal.core.monitor.config.Redirect;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-/**
- * A socket connection.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class SocketConnection extends Thread
-{
- protected Monitor monitor;
- protected Redirect redirect;
- protected Socket inSocket;
- protected Socket outSocket;
-
- protected String httpProxyHost = null;
- protected int httpProxyPort;
-
- protected SocketHandler requestSocketHandler = null;
- protected SocketHandler responseSocketHandler = null;
-
- private Vector listeners = new Vector(); // SS
-
- /**
- * Create socket connection.
- * @param monitor a Monitor object.
- * @param redirect a Redirect object.
- * @param inSocket in socket.
- */
- public SocketConnection(Monitor monitor, Redirect redirect, Socket inSocket)
- {
- this.monitor = monitor;
- this.redirect = redirect;
- this.inSocket = inSocket;
-
- // Start processing the connection
- start();
- }
-
- /**
- * Process the socket connection.
- */
- public void run()
- {
- // Get the HTTP proxy settings if there are any set (not used currently)
- loadHttpProxySettings();
-
- try
- {
- // Open the connection to the server
- this.outSocket = new Socket(redirect.getToHost(), redirect.getToPort());
-
- // Set the read timeout for the input socket
- this.inSocket.setSoTimeout(redirect.getReadTimeoutSeconds() * 1000);
-
- // Get the next conversation ID
- int conversationId = monitor.getNextConversationId();
-
- // Create the socket handlers which are used to send the data from
- // the client to the server
- requestSocketHandler =
- new SocketHandler(
- this,
- MessageEntry.TYPE_REQUEST,
- conversationId,
- redirect.getToHost(),
- this.inSocket,
- this.outSocket,
- redirect.getReadTimeoutSeconds());
- responseSocketHandler =
- new SocketHandler(
- this,
- MessageEntry.TYPE_RESPONSE,
- conversationId,
- redirect.getToHost(),
- this.outSocket,
- this.inSocket,
- redirect.getReadTimeoutSeconds());
-
- // Tell each socketHandler about the other one
- requestSocketHandler.setPairedSocketHandler(responseSocketHandler);
- responseSocketHandler.setPairedSocketHandler(requestSocketHandler);
- }
-
- catch (Exception e)
- {
- Monitor.staticPrintMessage(
- "error04",
- redirect.getToHost(),
- "Monitor cannot connect to a redirect host:");
-
- shutdown();
-
- try
- {
- this.inSocket.close();
- }
- catch (Throwable t)
- {
- }
- }
- }
-
- /**
- * Log message.
- * @param conversationID the coversation id.
- * @param connectionType the connection type.
- * @param timestamp the timestamp.
- * @param senderHostAndPort the sender host and port.
- * @param receiverHostAndPort the receiver host and port.
- * @param messageBuffer the message.
- * @param bom the BOM.
- * @param encoding the encoding.
- * @throws WSIException if there is a problem logging message.
- */
- public void logMessage(
- int conversationID,
- String connectionType,
- String timestamp,
- String senderHostAndPort,
- String receiverHostAndPort,
- StringBuffer messageBuffer,
- int bom,
- String encoding)
- throws WSIException
- {
- MessageEntry messageEntry = null;
-
- // Create message entry
- messageEntry =
- createMessageEntry(
- conversationID,
- connectionType,
- timestamp,
- senderHostAndPort,
- receiverHostAndPort,
- messageBuffer.toString(),
- bom,
- encoding);
-
- // DEBUG:
- //debug("logMessage", " messageEntry: " + messageEntry);
-
- // Add entry to the queue
- monitor.getMessageEntryQueue().addMessageEntry(messageEntry);
- }
-
- /**
- * Create a log entry from all of the data that was gathered.
- */
- private MessageEntry createMessageEntry(
- int conversationID,
- String messageType,
- String timestamp,
- String senderHostAndPort,
- String receiverHostAndPort,
- String message,
- int bom,
- String encoding)
- throws WSIException
- {
- // Create log entry object
- MessageEntry messageEntry = monitor.getLog().createLogEntry();
-
- // Set input information in log entry
- // NOTE: The ID is set just before the log entry is written to the log file in LogEntryQueue
- //logEntry.setId(id);
- messageEntry.setConversationId(String.valueOf(conversationID));
- messageEntry.setType(messageType);
- messageEntry.setTimestamp(timestamp);
- messageEntry.setSenderHostAndPort(senderHostAndPort);
- messageEntry.setReceiverHostAndPort(receiverHostAndPort);
- messageEntry.setEncoding(encoding);
-
- // Get HTTP headers from full message
- String httpHeaders = Utils.getHTTPHeaders(message);
- messageEntry.setHTTPHeaders(httpHeaders);
-
- if (Utils.isMultipartRelatedMessage(httpHeaders))
- {
- MimeParts mimeParts = Utils.parseMultipartRelatedMessage(message, httpHeaders, encoding);
- if (mimeParts == null)
- {
- // problem creating Mimeparts -- treat it as simple SOAP message
- String content = Utils.getContent(message);
- messageEntry.setMessage(content);
- messageEntry.setMimeContent(false);
- }
- else
- {
- messageEntry.setMimeParts(mimeParts);
- messageEntry.setMimeContent(true);
- }
- }
- else
- {
- // Get the message content
- String content = Utils.getContent(message);
- messageEntry.setMessage(content);
- messageEntry.setMimeContent(false);
- }
-
- // Set the BOM, if there is one
- if (bom != 0)
- messageEntry.setBOM(bom);
-
- return messageEntry;
- }
-
- /**
- * Load HTTP proxy settings.
- */
- public void loadHttpProxySettings()
- {
- // Get the HTTP proxy host setting
- this.httpProxyHost = System.getProperty("http.proxyHost");
- if (this.httpProxyHost != null && httpProxyHost.equals(""))
- this.httpProxyHost = null;
-
- // If there was an HTTP proxy host setting, then get the port
- if (this.httpProxyHost != null)
- {
- String portString = System.getProperty("http.proxyPort");
-
- // Set default to 80
- if (portString == null || portString.equals(""))
- this.httpProxyPort = 80;
- else
- httpProxyPort = Integer.parseInt(portString);
- }
- }
-
- Monitor getMonitor()
- {
- return this.monitor;
- }
-
- synchronized void wakeUp()
- {
- fireConnectionClosed(); // SS
- notifyAll();
- }
-
- /**
- * Shutdown.
- */
- public void shutdown()
- {
- if (this.requestSocketHandler != null)
- this.requestSocketHandler.shutdown();
- if (this.responseSocketHandler != null)
- this.responseSocketHandler.shutdown();
- }
-
- // ==== SS start ====
- /**
- * Add connection event listener.
- * @param listener event listener.
- * @see #removeConnectionListener
- */
- public void addConnectionListener(ConnectionListener listener)
- {
- listeners.add(listener);
- }
- /**
- * Remove connection event listener.
- * @param listener event listener.
- * @see #addConnectionListener
- */
- public void removeConnectionListener(ConnectionListener listener)
- {
- listeners.remove(listener);
- }
- /**
- * Notify listeners on connection close.
- */
- private void fireConnectionClosed()
- {
- for (Iterator i = listeners.iterator(); i.hasNext();)
- {
- ConnectionListener listener = (ConnectionListener) i.next();
- listener.connectionClosed(this);
- }
- }
- // ==== SS end ====
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/SocketHandler.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/SocketHandler.java
deleted file mode 100644
index 8a38a2645..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/SocketHandler.java
+++ /dev/null
@@ -1,963 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2003 IBM Corporation, 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
- * BeaconIT - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.monitor;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InterruptedIOException;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.Socket;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-/**
- * Socket Handler.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class SocketHandler extends Thread
-{
- protected SocketConnection socketConnection;
- protected SocketHandler pairedSocketHandler;
- protected String connectionType;
- protected int conversationID;
- protected String targetHost;
- protected int readTimeoutSeconds;
-
- protected Socket inSocket;
- protected Socket outSocket;
- protected InputStream inputStream = null;
- protected OutputStream outputStream = null;
-
- protected boolean verbose = false;
-
- protected boolean readTimedOut = false;
-
- // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
- private String mimeCharset = null;
- private String xmlEncoding = null;
-
- protected static final String CRLF = "\r\n";
-
- protected static final String HTTP_100_CONTINUE =
- "100 Continue".toUpperCase();
- protected static final String CHUNKED =
- "Transfer-Encoding: chunked".toUpperCase();
- protected static final String CHUNKED_WITH_QUOTES =
- "Transfer-Encoding: \"chunked\"".toUpperCase();
- protected static final String CONTENT_LENGTH =
- "Content-Length:".toUpperCase();
-
- /**
- * Create socket handler.
- * @param socketConnection socket connection.
- * @param connectionType connection type.
- * @param conversationID conversation id.
- * @param targetHost target host.
- * @param inSocket in socket.
- * @param outSocket out socket.
- * @param readTimeoutSeconds read timeout seconds.
- */
- public SocketHandler(
- SocketConnection socketConnection,
- String connectionType,
- int conversationID,
- String targetHost,
- Socket inSocket,
- Socket outSocket,
- int readTimeoutSeconds)
- {
- this.socketConnection = socketConnection;
- this.connectionType = connectionType;
- this.conversationID = conversationID;
- this.targetHost = targetHost;
- this.inSocket = inSocket;
- this.outSocket = outSocket;
- this.readTimeoutSeconds = readTimeoutSeconds;
-
- // ADD:
- verbose =
- socketConnection.getMonitor().getMonitorConfig().getVerboseOption();
-
- start();
- }
-
- /**
- * Set paired socket handler.
- * @param pairedSocketHandler paired socket handler.
- */
- public void setPairedSocketHandler(SocketHandler pairedSocketHandler)
- {
- this.pairedSocketHandler = pairedSocketHandler;
- }
-
- /**
- * Send the data from the input socket to the output socket.
- */
- public void run()
- {
- int readLen;
- String readMsg;
- MessageContext messageContext = null;
-
- // Create read buffer
- byte[] readBuffer = new byte[4096];
-
- try
- {
- // Get the input and output streams
- this.inputStream = this.inSocket.getInputStream();
- this.outputStream = this.outSocket.getOutputStream();
-
- // Process while the connection is active
- // (NOTE: there might be more than 1 message per connection)
- boolean connectionActive = true;
- while (connectionActive)
- {
- // Reset all data
- readLen = 0;
- messageContext = new MessageContext();
-
- // Read until message is complete
- boolean messageComplete = false;
- while (!messageComplete)
- {
- try
- {
- // DEBUG:
- debug("run", "Read data from the input stream.");
-
- // Read data from the input stream
- readLen = inputStream.read(readBuffer, 0, readBuffer.length);
-
- // Reset read timeout flag
- readTimedOut = false;
-
- // DEBUG:
- debug("run", "readLen: " + readLen);
-
- if (readLen == -1)
- {
- connectionActive = false;
- messageComplete = true;
- }
-
- // If data was read, then check for 100 continue
- else if (readLen > 0)
- {
- // If this is the first data that was read, then get the timestamp
- if (messageContext.timestamp == null)
- messageContext.timestamp = Utils.getTimestamp();
-
- if (connectionType.equals(MessageEntry.TYPE_REQUEST))
- {
- byte[] toHost =
- new String(
- socketConnection.redirect.getToHost()
- + ":"
- + socketConnection.redirect.getToPort())
- .getBytes();
-
- String message = new String(readBuffer, 0, readLen);
-
- int index = message.indexOf(CRLF + "Host: ");
- if (index > -1)
- {
- index += 8;
- int secondPart = message.indexOf(CRLF, index);
-
- // Write the data to the output stream and then go format it
- write(this.outputStream, readBuffer, 0, index);
- write(this.outputStream, toHost, 0, toHost.length);
- write(
- this.outputStream,
- readBuffer,
- secondPart,
- readLen - secondPart);
- }
- else
- {
- // Write the data to the output stream and then go format it
- write(this.outputStream, readBuffer, 0, readLen);
- }
- }
- else
- {
- // Write the data to the output stream and then go format it
- write(this.outputStream, readBuffer, 0, readLen);
- }
-
- // DEBUG:
- if (verbose)
- {
- String bufferString = new String(readBuffer, 0, readLen);
- debug("run", "buffer as string: [" + bufferString + "]");
- if (bufferString.length() <= 50)
- debug(
- "run",
- "buffer as hexstring: ["
- + Utils.toHexString(bufferString)
- + "]");
- else
- debug(
- "run",
- "buffer as hexstring: ["
- + Utils.toHexString(bufferString.substring(0, 50))
- + " ...]");
- }
-
- // See if this part of the buffer contains the BOM
- if (messageContext.bom == 0)
- {
- messageContext.bom = getBOM(readBuffer);
- }
-
- // DEBUG
- debug("run", "bom: " + messageContext.bom);
-
- String encoding;
-
- try
- {
- encoding = getEncoding();
- readMsg =
- new String(
- readBuffer,
- 0,
- readLen,
- Utils.getJavaEncoding(encoding));
- setEncoding(readMsg);
- if (!encoding.equals(getEncoding()))
- {
- encoding = getEncoding();
- readMsg =
- new String(
- readBuffer,
- 0,
- readLen,
- Utils.getJavaEncoding(encoding));
- }
- }
-
- catch (UnsupportedEncodingException uee)
- {
- debug("run", "EXCEPTION (3): " + uee.toString());
- throw new RuntimeException(uee.toString());
- }
-
- // Set encoding in the message context
- messageContext.encoding = encoding;
-
- // DEBUG
- debug("run", "encoding: " + messageContext.encoding);
-
- // Process message
- messageContext = processMessage(readLen, readMsg, messageContext);
- }
-
- // If message is complete, then log it and reset buffer
- if ((isMessageComplete(messageContext))
- || ((readLen == -1) && (messageContext.messageBuffer.length() > 0)))
- {
- // Log message
- logMessage(messageContext);
-
- // Set message complete
- messageComplete = true;
- }
- }
-
- catch (InterruptedIOException ie)
- {
- // Set read timeout flag
- readTimedOut = true;
-
- debug("run", "InterruptedIOException: " + ie.toString());
-
- // If the read is not done, then shutdown
- if (pairedSocketHandler != null
- && pairedSocketHandler.isReadWaiting()
- && pairedSocketHandler.isReadTimedOut())
- {
- // DEBUG:
- debug("run", "read timed out on both sockets");
-
- // If there is data in the message buffer and it is complete, then log it
- if ((isMessageComplete(messageContext))
- || (messageContext.messageBuffer.length() > 0))
- {
- // Log message
- logMessage(messageContext);
- }
-
- // Set message complete
- connectionActive = false;
- messageComplete = true;
- }
- }
-
- catch (Exception e2)
- {
- // DEBUG:
- debug(
- "run",
- "EXCEPTION (2): "
- + e2.toString()
- + "\n"
- + Utils.getExceptionDetails(e2));
- //e2.printStackTrace();
-
- // If there is data in the message buffer and it is complete, then log it
- if ((isMessageComplete(messageContext))
- || (messageContext.messageBuffer.length() > 0))
- {
- // Log message
- logMessage(messageContext);
- }
-
- // Set message complete
- connectionActive = false;
- messageComplete = true;
- }
- }
- }
- }
-
- catch (Exception e)
- {
- // DEBUG:
- debug(
- "run",
- "EXCEPTION (1): "
- + e.getMessage()
- + "\n"
- + Utils.getExceptionDetails(e));
- //e.printStackTrace();
- }
-
- catch (Error err)
- {
- // DEBUG:
- debug("run", "ERROR: " + err.getMessage());
- //err.printStackTrace();
- }
-
- finally
- {
- shutdown();
- socketConnection.wakeUp();
- }
- }
-
- /**
- * Process the message.
- */
- private MessageContext processMessage(
- int readLen,
- String readMsg,
- MessageContext inMessageContext)
- throws WSIException
- {
- boolean continueRead = false;
-
- // Initialize message context
- MessageContext messageContext = inMessageContext;
-
- // Get message buffer and chunked data from message context
- StringBuffer messageBuffer = messageContext.messageBuffer;
- ChunkedData chunkedData = messageContext.chunkedData;
-
- // If all we received was the header with 100 continue, then ignore it
- if ((readMsg.toUpperCase().indexOf(HTTP_100_CONTINUE) != -1)
- && (readLen >= 25))
- {
- // DEBUG:
- debug("processMessage", "Ignore HTTP 100 Continue.");
-
- // Find the end of the HTTP 100 message
- int index = Utils.getFirstCRLFCRLF(readMsg);
-
- // If there is only the HTTP 100 message, then just ignore it
- if (index == readMsg.length())
- continueRead = true;
-
- // Otherwise remove the HTTP 100 message and continue
- else
- readMsg = readMsg.substring(index);
- }
-
- // ADD: What if a bypassed message contains another message after it?
- if (!continueRead && bypassMessage(readMsg))
- {
- // DEBUG:
- debug(
- "processMessage",
- "Do not log message as defined in the monitor spec, but it will be sent.");
-
- continueRead = true;
- }
-
- if (!continueRead)
- {
- int index = 0;
-
- // If there is chunked data, then get the length
- if ((readMsg.toUpperCase().indexOf(CHUNKED) != -1)
- || (readMsg.toUpperCase().indexOf(CHUNKED_WITH_QUOTES) != -1))
- {
- // DEBUG:
- debug("processMessage", "Processing chunked data...");
-
- // Get the location of the first CFLF
- if ((index = readMsg.indexOf(CRLF + CRLF)) == -1)
- {
- throw new WSIException("Could not locate end of HTTP header.");
- }
-
- // Include the CRLF+CRLF in the index
- index += 4;
-
- // DEBUG:
- debug(
- "processMessage",
- "Add header before decoding chunked data: ["
- + readMsg.substring(0, index)
- + "]");
-
- // Add HTTP header to buffer
- messageBuffer.append(readMsg.substring(0, index));
-
- // If there is no more data (i.e. header only), then just indicate that there is more chunked data
- if (readMsg.length() == index)
- {
- chunkedData = new ChunkedData(this, true);
-
- // DEBUG:
- debug(
- "processMessage",
- "There is chunk data, but none in this part of the message.");
- }
-
- // Determine if the remainder of the data is complete (i.e. ends with [0][CRLF][Optional Footer][CRLF])
- else
- {
- // Create chunked data object
- chunkedData = new ChunkedData(this, readMsg.substring(index));
-
- if (!chunkedData.isMoreChunkedData())
- {
- chunkedData.decodeAndAddDataToBuffer(messageBuffer);
- }
- }
- }
-
- else if (chunkedData != null && chunkedData.isMoreChunkedData())
- {
- // DEBUG:
- debug("processMessage", "Processing MORE chunked data...");
-
- // Add data
- chunkedData.addData(readMsg);
-
- // Decode data
- if (!chunkedData.isMoreChunkedData())
- {
- chunkedData.decodeAndAddDataToBuffer(messageBuffer);
- }
- }
-
- // Else just append the data to the buffer
- else
- {
- // DEBUG:
- debug(
- "processMessage",
- "Add data to message entry buffer: [" + readMsg + "]");
-
- messageBuffer.append(readMsg);
- }
- }
-
- // Set updated message buffer and chunked data in message context
- messageContext.messageBuffer = messageBuffer;
- messageContext.chunkedData = chunkedData;
-
- // Return message context
- return messageContext;
- }
-
- /**
- * Shutdown input socket and close input stream.
- * @param inSocket in socket.
- * @param inputStream input stream.
- */
- protected void stopInput(Socket inSocket, InputStream inputStream)
- {
- try
- {
- // If there is a input socket, then shutdown the input
- if (inSocket != null)
- {
- inSocket.shutdownInput();
- }
-
- // If there is an input stream then close it
- if (inputStream != null)
- {
- inputStream.close();
- }
- }
- catch (Exception e)
- {
- // Ignore since we are stopping everything
- }
-
- inputStream = null;
- }
-
- /**
- * Shutdown output socket and close output stream.
- * @param outSocket out socket.
- * @param outputStream output stream.
- */
- protected void stopOutput(Socket outSocket, OutputStream outputStream)
- {
- try
- {
- // If there is an output stream, then flush it
- if (outputStream != null)
- {
- outputStream.flush();
- }
-
- // If there is a input socket, then shutdown the input
- if (outSocket != null)
- {
- outSocket.shutdownOutput();
- }
-
- // If there is an output stream then close it
- if (outputStream != null)
- {
- outputStream.close();
- }
- }
-
- catch (Exception e)
- {
- // Ignore since we are stopping everything
- }
-
- outputStream = null;
- }
-
- /**
- * Shutdown handler.
- */
- public void shutdown()
- {
- // Stop both the input and output
- stopInput(this.inSocket, this.inputStream);
- stopOutput(this.outSocket, this.outputStream);
- }
-
- /**
- * Display debug messages.
- */
- void debug(String method, String message)
- {
- debug("SocketHandler", method, message);
- }
-
- /**
- * Display debug messages.
- */
- void debug(String className, String method, String message)
- {
- if (verbose)
- print(className, method, message);
- }
-
- /**
- * Display messages.
- */
- void print(String className, String method, String message)
- {
- System.out.println(
- "["
- + Thread.currentThread().getName()
- + "] ["
- + className
- + "."
- + method
- + "] ["
- + this.connectionType
- + "] "
- + message);
- }
-
- /**
- * Write data.
- */
- private void write(
- OutputStream outputStream,
- byte[] buffer,
- int start,
- int length)
- throws IOException
- {
- if (outputStream == null)
- {
- // DEBUG:
- debug("write", "Could not write buffer because output stream is null.");
- }
- else
- {
- // DEBUG:
- debug("write", "buffer: [" + new String(buffer, start, length) + "]");
-
- outputStream.write(buffer, start, length);
- }
- }
-
- /**
- * Check if message is complete.
- *
- * @param messageContext
- */
- private boolean isMessageComplete(MessageContext messageContext)
- throws WSIException
- {
- int index, index2, contentLen;
- boolean messageComplete = false;
-
- boolean moreChunkedData = messageContext.chunkedData.isMoreChunkedData();
-
- String message = messageContext.messageBuffer.toString();
-
- // Find the first CRLF + CRLF which marks the end of the HTTP header
- String httpHeader;
- index = Utils.getFirstCRLFCRLF(message);
- if (index == -1)
- httpHeader = message;
- else
- httpHeader = message.substring(0, index);
-
- // If chunked data, then complete only if there is no more data
- if (((httpHeader.toUpperCase().indexOf(CHUNKED) != -1)
- || (httpHeader.toUpperCase().indexOf(CHUNKED_WITH_QUOTES) != -1))
- && (!moreChunkedData))
- {
- debug(
- "isMessageComplete",
- "HTTP header indicates chunked data and there is no more chunked data");
- messageComplete = true;
- }
-
- // Check for content length
- else if ((index = httpHeader.toUpperCase().indexOf(CONTENT_LENGTH)) == -1)
- {
- debug("isMessageComplete", "HTTP header does not contain content length");
-
- // Should not have complete POST header without content length
- if (httpHeader.startsWith("POST"))
- {
- if (httpHeader.endsWith(CRLF + CRLF))
- {
- throw new WSIException("Could not locate content-length in HTTP POST header.");
- }
-
- messageComplete = false;
- }
-
- // This could be a GET, so see if the the complete header has been received
- else if (
- httpHeader.startsWith("GET")
- && (message.length() == httpHeader.length()
- && message.endsWith(CRLF + CRLF)))
- {
- messageComplete = true;
- }
-
- else
- {
- messageComplete = false;
- }
- }
-
- // If there is content length, then see if the entire message has been received
- else if ((index = httpHeader.toUpperCase().indexOf(CONTENT_LENGTH)) != -1)
- {
- // Find end of content length value
- index2 = httpHeader.indexOf(CRLF, index);
-
- debug("isMessageComplete", "CRLF: " + Utils.toHexString(CRLF));
- debug(
- "isMessageComplete",
- "httpHeader/index: " + Utils.toHexString(httpHeader.substring(index)));
-
- // Get content length
- contentLen =
- Integer
- .decode(
- httpHeader.substring(index + CONTENT_LENGTH.length() + 1, index2))
- .intValue();
-
- // DEBUG:
- debug("isMessageComplete", "contentLen: " + contentLen);
-
- // Find the first CRLF + CRLF which marks the end of the HTTP header
- index = Utils.getFirstCRLFCRLF(message);
-
- // DEBUG:
- debug(
- "isMessageComplete",
- "actual received message length: " + (message.length() - (index)));
-
- // If content length is equal to actual message content length, then message is complete
- if (contentLen == message.length() - index)
- {
- messageComplete = true;
-
- // DEBUG:
- debug(
- "isMessageComplete",
- "contentLen = actual received message length.");
- }
- }
-
- // Message is not complete
- else
- {
- messageComplete = false;
- }
-
- // DEBUG:
- debug("isMessageComplete", "messageComplete: " + messageComplete);
-
- return messageComplete;
- }
-
- /**
- * Log message.
- *
- * @param messageBuffer
- */
- private void logMessage(MessageContext messageContext) throws WSIException
- {
- // Determine sender and receiver host/port
- String senderHostAndPort, receiverHostAndPort;
-
- // Request
- if (connectionType.equals(MessageEntry.TYPE_REQUEST))
- {
- senderHostAndPort =
- inSocket.getInetAddress().getHostAddress() + ":" + inSocket.getPort();
- receiverHostAndPort = targetHost + ":" + outSocket.getPort();
- }
-
- // Response
- else
- {
- senderHostAndPort = targetHost + ":" + inSocket.getPort();
- receiverHostAndPort =
- outSocket.getInetAddress().getHostAddress() + ":" + outSocket.getPort();
- }
-
- // Create message entry
- this.socketConnection.logMessage(
- conversationID,
- this.connectionType,
- messageContext.timestamp,
- senderHostAndPort,
- receiverHostAndPort,
- messageContext.messageBuffer,
- messageContext.bom,
- messageContext.encoding);
- }
-
- /**
- * Check for HTTP messages that should not be logged.
- */
- private boolean bypassMessage(String message)
- {
- boolean bypass = false;
- if ((message.startsWith("CONNECT"))
- || (message.startsWith("TRACE"))
- || (message.startsWith("DELETE"))
- || (message.startsWith("OPTIONS"))
- || (message.startsWith("HEAD")))
- {
- bypass = true;
- }
-
- return bypass;
- }
-
- // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
- /**
- * Set Encoding Parameters
- * @param messageFragment String of a HTTP message fragment.
- * @author K.Nakagome@BeaconIT Japan SIG
- */
- private void setEncoding(String messageFragment)
- {
- if (mimeCharset == null || mimeCharset.length() == 0)
- {
- mimeCharset = Utils.getHTTPCharset(messageFragment);
- }
- if (xmlEncoding == null || xmlEncoding.length() == 0)
- {
- xmlEncoding = Utils.getXMLEncoding(messageFragment);
- }
- return;
- }
-
- // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
- /**
- * Get Encoding Parameter
- * @return Character encoding of HTTP message.
- * @author K.Nakagome@BeaconIT Japan SIG
- */
- private String getEncoding()
- {
- String encoding = WSIConstants.DEFAULT_XML_ENCODING;
- if (mimeCharset != null && mimeCharset.length() > 0)
- {
- encoding = mimeCharset;
- }
- if (xmlEncoding != null && xmlEncoding.length() > 0)
- {
- encoding = xmlEncoding;
- }
- return encoding;
- }
-
- /**
- * Get the Byte Order Mark from the message (if there is one).
- */
- private int getBOM(byte[] message)
- {
- int bom = 0;
-
- byte FF = (byte) 0xFF;
- byte FE = (byte) 0xFE;
- byte EF = (byte) 0xEF;
- byte BB = (byte) 0xBB;
- byte BF = (byte) 0xBF;
-
- // Search through the byte array for CRLF+CRLF. This will mark the end of the header.
- int i = Utils.getFirstCRLFCRLF(message, 0);
- if (i != -1)
- {
- // DEBUG:
- debug(
- "getBOM",
- "message[i]: "
- + message[i]
- + ", message[i+1]: "
- + message[i+1]);
-
- // Check for UTF-8 BOM
- if (((i + 2) < message.length)
- && message[i] == EF
- && message[i+1] == BB
- && message[i+2] == BF)
- {
- bom = 0xEFBBBF;
- }
- // Check for UTF-16 big-endian BOM
- else if (
- ((i+1) < message.length)
- && message[i] == FE
- && message[i + 1] == FF)
- {
- bom = 0xFEFF;
- }
- // Check for UTF-16 little-endian BOM
- else if (
- ((i+1) < message.length)
- && message[i] == FF
- && message[i+1] == FE)
- {
- bom = 0xFFFE;
- }
- // ADD: Do we need to check for other BOMs
- }
- return bom;
- }
-
- /**
- * Determine if the read is still waiting for data.
- */
- boolean isReadWaiting()
- {
- boolean readWaiting = false;
-
- try
- {
- // DEBUG:
- debug(
- "isReadWaiting",
- "inSocket.getInputStream().available(): "
- + inSocket.getInputStream().available());
-
- if (inSocket.getInputStream().available() == 0)
- {
- readWaiting = true;
- }
- }
-
- catch (IOException ioe)
- {
- }
-
- return readWaiting;
- }
-
- /**
- * Get read timed out flag.
- */
- boolean isReadTimedOut()
- {
- return this.readTimedOut;
- }
-
- /**
- * Message context contains information about the message that is being processed.
- */
- class MessageContext
- {
- StringBuffer messageBuffer;
- ChunkedData chunkedData;
- String timestamp;
- int bom;
- String encoding;
-
- /**
- * Create new message context.
- */
- MessageContext()
- {
- messageBuffer = new StringBuffer();
- chunkedData = new ChunkedData();
- timestamp = null;
- bom = 0;
- encoding = WSIConstants.DEFAULT_XML_ENCODING;
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/Comment.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/Comment.java
deleted file mode 100644
index bde4ad6fe..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/Comment.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * 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.monitor.config;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-
-/**
- * The interface for monitor config Comment element.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface Comment extends DocumentElement
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_COMMENT;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_MONITOR_CONFIG, ELEM_NAME);
-
- /**
- * Get comment text.
- * @return comment text.
- * @see #setText
- */
- public String getText();
-
- /**
- * Set comment text.
- * @param text the comment text.
- * @see #getText
- */
- public void setText(String text);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/ManInTheMiddle.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/ManInTheMiddle.java
deleted file mode 100644
index 85c0aa2fb..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/ManInTheMiddle.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * 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.monitor.config;
-
-import java.util.Vector;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-
-/**
- * The interface for the monitor config ManInTheMiddle element.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface ManInTheMiddle extends DocumentElement
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_MAN_IN_THE_MIDDLE;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_MONITOR_CONFIG, ELEM_NAME);
-
- /**
- * Get comment.
- * @return comment.
- * @see #setComment
- */
- public Comment getComment();
-
- /**
- * Set comment.
- * @param comment the Comment object.
- * @see #getComment
- */
- public void setComment(Comment comment);
-
- /**
- * Get redirects.
- * @return the redirirects.
- * @see #setRedirectList
- */
- public Vector getRedirectList();
-
- /**
- * Add redirect.
- * @param redirect the Redirect object.
- */
- public void addRedirect(Redirect redirect);
-
- /**
- * Set redirects.
- * @param redirectList a list of the redirects.
- * @see #getRedirectList
- */
- public void setRedirectList(Vector redirectList);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/MonitorConfig.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/MonitorConfig.java
deleted file mode 100644
index 11df1ed52..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/MonitorConfig.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * 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.monitor.config;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet;
-import org.eclipse.wst.wsi.internal.core.document.WSIDocument;
-import org.eclipse.wst.wsi.internal.core.util.MessageList;
-
-/**
- * This is the interface for the monitor configuration file.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface MonitorConfig extends WSIDocument
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_CONFIG;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_MONITOR_CONFIG, ELEM_NAME);
-
- /**
- * Initialize monitor config.
- * @param messageList a lMessageList object.
- */
- public void init(MessageList messageList);
-
- /**
- * Get comment.
- * @return comment.
- * @see #setComment
- */
- public Comment getComment();
-
- /**
- * Set comment.
- * @param comment a Comment object.
- * @see #getComment
- */
- public void setComment(Comment comment);
-
- /**
- * Get log file location.
- * @return log file location.
- * @see #setLogLocation
- */
- public String getLogLocation();
-
- /**
- * Set log file location.
- * @param logURI log file location.
- * @see #getLogLocation
- */
- public void setLogLocation(String logURI);
-
- /**
- * Get replace log.
- * @return replace log.
- * @see #setReplaceLog
- */
- public boolean getReplaceLog();
-
- /**
- * Set replace log.
- * @param replaceLog a replace log.
- * @see #getReplaceLog
- */
- public void setReplaceLog(boolean replaceLog);
-
- /**
- * Get add style sheet.
- * @return add style sheet.
- * @see #setAddStyleSheet
- */
- public AddStyleSheet getAddStyleSheet();
-
- /**
- * Set add style sheet.
- * @param addStyleSheet add style sheet.
- * @see #getAddStyleSheet
- */
- public void setAddStyleSheet(AddStyleSheet addStyleSheet);
-
- /**
- * Get log duration.
- * @return log duration.
- * @see #setLogDuration
- */
- public int getLogDuration();
-
- /**
- * Set log duration.
- * @param logDuration log duration.
- * @see #getLogDuration
- */
- public void setLogDuration(int logDuration);
-
- /**
- * Get timeout.
- * @return timeout.
- * @see #setTimeout
- */
- public int getTimeout();
-
- /**
- * Set timeout.
- * @param timeout timeout.
- * @see #getTimeout
- */
- public void setTimeout(int timeout);
-
- /**
- * Get man-in-the-middle information.
- * @return man-in-the-middle information.
- * @see #setManInTheMiddle
- */
- public ManInTheMiddle getManInTheMiddle();
-
- /**
- * Set man-in-the-middle information.
- * @param manInTheMiddle man-in-the-middle information.
- * @see #getManInTheMiddle
- */
- public void setManInTheMiddle(ManInTheMiddle manInTheMiddle);
-
- /**
- * Get verbose option.
- * @return verbose option.
- * @see #setVerboseOption
- */
- public boolean getVerboseOption();
-
- /**
- * Set verbose option.
- * @param verbose verbose option.
- * @see #getVerboseOption
- */
- public void setVerboseOption(boolean verbose);
-
- /**
- * Parse the command line arguments.
- * @param args the command line arguments.
- * @throws WSIException if problems occur while parsing the
- * command line arguments,
- */
- public void parseArgs(String[] args) throws WSIException;
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/MonitorConfigReader.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/MonitorConfigReader.java
deleted file mode 100644
index 38fbd0753..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/MonitorConfigReader.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * 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.monitor.config;
-
-import java.io.Reader;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.document.DocumentReader;
-import org.eclipse.wst.wsi.internal.core.util.MessageList;
-
-/**
- * Defines the interface used to read the monitor config documents.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface MonitorConfigReader extends DocumentReader
-{
- /**
- * Initialize monitor config.
- * @param messageList a MessageList object.
- */
- public void init(MessageList messageList);
-
- /**
- * Read the monitor config file.
- * @param monitorConfigURI the monitor config file location.
- * @return a MonitorConfig object
- * @throws WSIException if problems occur while reading monitor config file.
- */
- public MonitorConfig readMonitorConfig(String monitorConfigURI)
- throws WSIException;
-
- /**
- * Read the monitor config file.
- * @param reader a Reader object.
- * @return a MonitorConfig object
- * @throws WSIException if problems occur while reading monitor config file.
- */
- public MonitorConfig readMonitorConfig(Reader reader) throws WSIException;
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/Redirect.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/Redirect.java
deleted file mode 100644
index 6e3082d6d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/Redirect.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * 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.monitor.config;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-
-/**
- * The interface for monitor config Redirect element.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface Redirect extends DocumentElement
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_REDIRECT;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_MONITOR_CONFIG, ELEM_NAME);
-
- /**
- * Get comment.
- * @return comment.
- * @see #setComment
- */
- public Comment getComment();
-
- /**
- * Set comment.
- * @param comment a Commentobject.
- * @see #getComment
- */
- public void setComment(Comment comment);
-
- /**
- * Get listen port.
- * @return listen port.
- * @see #setListenPort
- */
- public int getListenPort();
-
- /**
- * Set listen port.
- * @param listenPort listen port.
- * @see #getListenPort
- */
- public void setListenPort(int listenPort);
-
- /**
- * Get host.
- * @return host.
- * @see #setHost
- */
- public String getHost();
-
- /**
- * Set host.
- * @param host host.
- * @see #getHost
- */
- public void setHost(String host);
-
- /**
- * Get send to port.
- * @return send to port.
- */
- public int getToPort();
-
- /**
- * Get send to host.
- * @return send to host.
- */
- public String getToHost();
-
- /**
- * Get send to protocol.
- * @return send to protocol.
- */
- public String getToProtocol();
-
- /**
- * Get maximum connections.
- * @return maximum connections.
- * @see #setMaxConnections
- */
- public int getMaxConnections();
-
- /**
- * Set maximum connections.
- * @param maxConnections maximum connections.
- * @see #getMaxConnections
- */
- public void setMaxConnections(int maxConnections);
-
- /**
- * Get read timeout seconds.
- * @return read timeout seconds.
- * @see #setReadTimeoutSeconds
- */
- public int getReadTimeoutSeconds();
-
- /**
- * Set read timeout seconds.
- * @param readTimeoutSeconds read timeout seconds.
- * @see #getReadTimeoutSeconds
- */
- public void setReadTimeoutSeconds(int readTimeoutSeconds);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/CommentImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/CommentImpl.java
deleted file mode 100644
index 61c09b5d7..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/CommentImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * 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.monitor.config.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.eclipse.wst.wsi.internal.core.monitor.config.Comment;
-
-/**
- * The implementation for monitor config Comment element.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class CommentImpl implements Comment
-{
- /**
- * Comment text.
- */
- protected String text = null;
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.Comment#getText()
- */
- public String getText()
- {
- return this.text;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.Comment#setText(String)
- */
- public void setText(String text)
- {
- this.text = text;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentElement#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- // Config options
- //pw.print(" <" + nsName + ELEM_NAME + " xmlns=\"" + WSIConstants.NS_URI_WSI_MONITOR_CONFIG + "\">");
- pw.print(" <" + nsName + ELEM_NAME + ">");
- pw.print(this.text);
-
- // End element
- pw.println("</" + nsName + ELEM_NAME + ">");
-
- return sw.toString();
- }
-
- public String toString()
- {
- return text;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/ManInTheMiddleImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/ManInTheMiddleImpl.java
deleted file mode 100644
index 858fa632b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/ManInTheMiddleImpl.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * 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.monitor.config.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.monitor.config.Comment;
-import org.eclipse.wst.wsi.internal.core.monitor.config.ManInTheMiddle;
-import org.eclipse.wst.wsi.internal.core.monitor.config.Redirect;
-
-/**
- * The implementation for the monitor config ManInTheMiddle element.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class ManInTheMiddleImpl implements ManInTheMiddle
-{
- /**
- * Comment.
- */
- protected Comment comment;
-
- /**
- * Redirect list.
- */
- protected Vector redirectList = new Vector();
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.ManInTheMiddle#getComment()
- */
- public Comment getComment()
- {
- return this.comment;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.ManInTheMiddle#setComment(Comment)
- */
- public void setComment(Comment comment)
- {
- this.comment = comment;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.ManInTheMiddle#getRedirectList()
- */
- public Vector getRedirectList()
- {
- return redirectList;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.ManInTheMiddle#addRedirect(Redirect)
- */
- public void addRedirect(Redirect redirect)
- {
- redirectList.add(redirect);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.ManInTheMiddle#setRedirectList(Vector)
- */
- public void setRedirectList(Vector redirectList)
- {
- this.redirectList = redirectList;
- }
-
- /* (non-Javadoc)
- * Get string representation of this object.
- */
- public String toString()
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- pw.println(" man-in-the-middle comment ... " + this.comment);
-
- // Redirect list
- int count = 1;
- Redirect redirect;
- Iterator iterator = redirectList.iterator();
- while (iterator.hasNext())
- {
- // Get next redirect element
- redirect = (Redirect) iterator.next();
- pw.println(" redirect [" + count++ +"]");
- pw.print(redirect.toString());
- }
-
- return sw.toString();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentElement#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- // Start element
- pw.println(" <" + nsName + ELEM_NAME + ">");
-
- // Comment
- if (this.comment != null)
- {
- pw.println(this.comment.toXMLString(nsName));
- }
-
- // Redirect
- Redirect redirect;
- Iterator iterator = redirectList.iterator();
- while (iterator.hasNext())
- {
- // Get next redirect element
- redirect = (Redirect) iterator.next();
- pw.print(redirect.toXMLString(nsName));
- }
-
- // End element
- pw.println(" </" + nsName + ELEM_NAME + ">");
-
- return sw.toString();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigImpl.java
deleted file mode 100644
index 586966d83..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigImpl.java
+++ /dev/null
@@ -1,561 +0,0 @@
-/*******************************************************************************
- * 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.monitor.config.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet;
-import org.eclipse.wst.wsi.internal.core.common.impl.AddStyleSheetImpl;
-import org.eclipse.wst.wsi.internal.core.monitor.Monitor;
-import org.eclipse.wst.wsi.internal.core.monitor.config.Comment;
-import org.eclipse.wst.wsi.internal.core.monitor.config.ManInTheMiddle;
-import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfig;
-import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfigReader;
-import org.eclipse.wst.wsi.internal.core.monitor.config.Redirect;
-import org.eclipse.wst.wsi.internal.core.util.MessageList;
-
-/**
- * This is the implementation for the monitor configuration file.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class MonitorConfigImpl implements MonitorConfig
-{
- /**
- * Message list reference.
- */
- protected MessageList messageList = null;
-
- /**
- * Monitor configuration file URI.
- */
- protected String documentURI = null;
-
- /**
- * Comment.
- */
- protected Comment comment = null;
-
- /**
- * Log location.
- */
- protected String logURI;
-
- /**
- * Replace log indicator.
- */
- protected boolean replaceLog = false;
-
- /**
- * Style sheet declaration.
- */
- protected AddStyleSheet addStyleSheet;
-
- /**
- * Log duration.
- */
- protected int logDuration = 600;
-
- /**
- * Timeout.
- */
- protected int timeout = 3;
-
- /**
- * Man-in-the-middle settings.
- */
- protected ManInTheMiddle manInTheMiddle = null;
-
- /**
- * Verbose option.
- */
- protected boolean verbose = false;
-
- /**
- * Initialize monitor config.
- */
- public void init(MessageList messageList)
- {
- this.messageList = messageList;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.MonitorConfig#getComment()
- */
- public Comment getComment()
- {
- return this.comment;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.MonitorConfig#setComment(Comment)
- */
- public void setComment(Comment comment)
- {
- this.comment = comment;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.MonitorConfig#getLogLocation()
- */
- public String getLogLocation()
- {
- return this.logURI;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.MonitorConfig#setLogLocation(String)
- */
- public void setLogLocation(String logURI)
- {
- this.logURI = logURI;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.MonitorConfig#getReplaceLog()
- */
- public boolean getReplaceLog()
- {
- return this.replaceLog;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.MonitorConfig#setReplaceLog(boolean)
- */
- public void setReplaceLog(boolean replaceLog)
- {
- this.replaceLog = replaceLog;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.MonitorConfig#getAddStyleSheet()
- */
- public AddStyleSheet getAddStyleSheet()
- {
- return this.addStyleSheet;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.MonitorConfig#setAddStyleSheet(org.wsi.test.common.AddStyleSheet)
- */
- public void setAddStyleSheet(AddStyleSheet addStyleSheet)
- {
- this.addStyleSheet = addStyleSheet;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.MonitorConfig#getLogDuration()
- */
- public int getLogDuration()
- {
- return logDuration;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.MonitorConfig#setLogDuration(int)
- */
- public void setLogDuration(int logDuration)
- {
- this.logDuration = logDuration;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.MonitorConfig#getTimeout()
- */
- public int getTimeout()
- {
- return this.timeout;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.MonitorConfig#setTimeout(int)
- */
- public void setTimeout(int timeout)
- {
- this.timeout = timeout;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.MonitorConfig#getManInTheMiddle()
- */
- public ManInTheMiddle getManInTheMiddle()
- {
- return manInTheMiddle;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.MonitorConfig#setManInTheMiddle(ManInTheMiddle)
- */
- public void setManInTheMiddle(ManInTheMiddle manInTheMiddle)
- {
- this.manInTheMiddle = manInTheMiddle;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.WSIDocument#getLocation()
- */
- public String getLocation()
- {
- return this.documentURI;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.WSIDocument#setLocation(String)
- */
- public void setLocation(String documentURI)
- {
- this.documentURI = documentURI;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.MonitorConfig#getVerboseOption()
- */
- public boolean getVerboseOption()
- {
- return this.verbose;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.MonitorConfig#setVerboseOption(boolean)
- */
- public void setVerboseOption(boolean verbose)
- {
- this.verbose = verbose;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentElement#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- // Config options
- pw.println(" <" + nsName + ELEM_NAME + ">");
-
- // Comment
- if (this.comment != null)
- {
- pw.print(comment.toXMLString(nsName));
- }
-
- // Log file
- pw.print(" <" + nsName + WSIConstants.ELEM_LOG_FILE + " ");
- pw.print(WSIConstants.ATTR_REPLACE + "=\"" + this.replaceLog + "\" ");
- pw.println(WSIConstants.ATTR_LOCATION + "=\"" + this.logURI + "\">");
- pw.print(getAddStyleSheet().toXMLString(namespaceName));
- pw.println(" </" + nsName + WSIConstants.ELEM_LOG_FILE + ">");
-
- // Log duration
- pw.print(" <" + nsName + WSIConstants.ELEM_LOG_DURATION + ">");
- pw.print(this.logDuration);
- pw.println("</" + nsName + WSIConstants.ELEM_LOG_DURATION + ">");
-
- // Timeout
- pw.print(
- " <" + nsName + WSIConstants.ELEM_CLEANUP_TIMEOUT_SECONDS + ">");
- pw.print(this.timeout);
- pw.println("</" + nsName + WSIConstants.ELEM_CLEANUP_TIMEOUT_SECONDS + ">");
-
- // Man-in-the-middle
- if (this.manInTheMiddle != null)
- {
- pw.print(manInTheMiddle.toXMLString(nsName));
- }
-
- // End element
- pw.println(" </" + nsName + ELEM_NAME + ">");
-
- return sw.toString();
- }
-
- /**
- * Get string representation of this object.
- */
- public String toString()
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- pw.println(" comment ..................... " + this.comment);
- pw.println(" logURI ...................... " + this.logURI);
- pw.println(" replaceLog .................. " + this.replaceLog);
- pw.println(" logDuration ................. " + this.logDuration);
- pw.println(" timeout ..................... " + this.timeout);
-
- // addStyleSheet
- if (this.addStyleSheet != null)
- pw.println(
- " addStyleSheet ............... " + this.addStyleSheet.toString());
-
- // Man-in-the-middle
- if (this.manInTheMiddle != null)
- {
- pw.print(this.manInTheMiddle.toString());
- }
-
- return sw.toString();
- }
-
- /**
- * Set config values from another monitor config object.
- */
- private void setConfig(MonitorConfig monitorConfig)
- {
- // ADD: Should this be a clone operation?
- this.comment = monitorConfig.getComment();
- this.documentURI = monitorConfig.getLocation();
- this.logURI = monitorConfig.getLogLocation();
- this.replaceLog = monitorConfig.getReplaceLog();
- this.logDuration = monitorConfig.getLogDuration();
- this.timeout = monitorConfig.getTimeout();
- this.manInTheMiddle = monitorConfig.getManInTheMiddle();
- this.addStyleSheet = monitorConfig.getAddStyleSheet();
- this.verbose = monitorConfig.getVerboseOption();
- }
-
- /**
- * Verify config options.
- */
- private void verifyConfig() throws WSIException
- {
- // If no redirect statements, then exit
- if ((this.manInTheMiddle == null)
- || (this.manInTheMiddle.getRedirectList() == null)
- || (this.manInTheMiddle.getRedirectList().size() == 0))
- {
- throw new IllegalArgumentException(
- getMessage(
- "config05",
- "Monitor config file did not contain any redirect statements."));
- }
-
- if (this.logURI == null)
- {
- throw new IllegalArgumentException(
- getMessage(
- "config06",
- "Monitor config file did not contain the log file URI."));
- }
- }
-
- /**
- * Parse the command line arguments.
- */
- public void parseArgs(String[] args) throws WSIException
- {
- // Get new config reader
- MonitorConfigReader monitorConfigReader = new MonitorConfigReaderImpl();
-
- // Monitor config object which will be merged after all of the input parms are processed
- MonitorConfig monitorConfigFromArgs = null;
-
- // If no input arguments, then throw exception
- if (args.length == 0)
- {
- // ADD:
- throw new IllegalArgumentException(
- getMessage("usage01", Monitor.USAGE_MESSAGE));
- }
-
- // Parse the command line arguments to locate the config file option (if it was specified)
- for (int argCount = 0; argCount < args.length; argCount++)
- {
- // -configFile
- if ((args[argCount].equalsIgnoreCase("-config"))
- || (args[argCount].equals("-c")))
- {
- argCount++;
- monitorConfigFromArgs =
- monitorConfigReader.readMonitorConfig(args[argCount]);
- }
- }
-
- // If config file was not specified, then create analyzer config object
- if (monitorConfigFromArgs == null)
- {
- monitorConfigFromArgs = new MonitorConfigImpl();
- monitorConfigFromArgs.init(this.messageList);
- }
-
- // Parse all of the command line arguments
- for (int argCount = 0; argCount < args.length; argCount++)
- {
- // -configFile
- if ((args[argCount].equalsIgnoreCase("-config"))
- || (args[argCount].equals("-c")))
- {
- // Skip this option since it was already processed
- argCount++;
- }
-
- // -comment
- else if (
- (args[argCount].equalsIgnoreCase("-comment"))
- || (args[argCount].equals("-C")))
- {
- argCount++;
- Comment comment = new CommentImpl();
- comment.setText(args[argCount]);
- monitorConfigFromArgs.setComment(comment);
- }
-
- // -logFile
- else if (
- (args[argCount].equalsIgnoreCase("-logFile"))
- || (args[argCount].equals("-l")))
- {
- argCount++;
- monitorConfigFromArgs.setLogLocation(args[argCount]);
- }
-
- // -replace
- else if (
- (args[argCount].equalsIgnoreCase("-replace"))
- || (args[argCount].equals("-r")))
- {
- argCount++;
- monitorConfigFromArgs.setReplaceLog(
- Boolean.valueOf(args[argCount]).booleanValue());
- }
-
- // -logDuration
- else if (
- (args[argCount].equalsIgnoreCase("-logDuration"))
- || (args[argCount].equals("-d")))
- {
- argCount++;
- monitorConfigFromArgs.setLogDuration(
- Integer.valueOf(args[argCount]).intValue());
- }
-
- // -timeout
- else if (
- (args[argCount].equalsIgnoreCase("-timeout"))
- || (args[argCount].equals("-t")))
- {
- argCount++;
- monitorConfigFromArgs.setTimeout(
- Integer.valueOf(args[argCount]).intValue());
- }
-
- // -manInTheMiddle
- else if (
- (args[argCount].equalsIgnoreCase("-manInTheMiddle"))
- || (args[argCount].equals("-m")))
- {
- ManInTheMiddle manInTheMiddle = null;
-
- // Increment arg count
- argCount++;
-
- // Get the man-in-the-middle object
- if ((manInTheMiddle = monitorConfigFromArgs.getManInTheMiddle())
- == null)
- manInTheMiddle = new ManInTheMiddleImpl();
-
- // ADD: Check for correct number of remaining args
-
- // Create redirect
- Redirect redirect = new RedirectImpl();
-
- // Get the redirect values
- redirect.setListenPort(Integer.valueOf(args[argCount++]).intValue());
- redirect.setHost(args[argCount++]);
- redirect.setMaxConnections(
- Integer.valueOf(args[argCount++]).intValue());
- redirect.setReadTimeoutSeconds(
- Integer.valueOf(args[argCount++]).intValue());
-
- // Add redirect
- manInTheMiddle.addRedirect(redirect);
-
- // Set the man-in-the-middle
- monitorConfigFromArgs.setManInTheMiddle(manInTheMiddle);
- }
-
- // -verbose
- else if (
- (args[argCount].equalsIgnoreCase("-verbose"))
- || (args[argCount].equals("-v")))
- {
- argCount++;
- //monitorConfigFromArgs.setVerboseOption(Boolean.valueOf(args[argCount]).booleanValue());
- monitorConfigFromArgs.setVerboseOption(true);
- }
-
- // -GUI
- else if (args[argCount].equalsIgnoreCase("-GUI"))
- {
- // Ignore -GUI option
- }
-
- else
- {
- throw new IllegalArgumentException(
- getMessage(
- "config01",
- args[argCount],
- "The specified option is not supported."));
- }
- }
-
- // If addStyleSheet was not specified, then create a comment version of it
- if (monitorConfigFromArgs.getAddStyleSheet() == null)
- {
- AddStyleSheet addStyleSheet = new AddStyleSheetImpl();
- addStyleSheet.setHref(WSIConstants.DEFAULT_LOG_XSL);
- addStyleSheet.setType(WSIConstants.DEFAULT_XSL_TYPE);
- addStyleSheet.setComment(true);
- monitorConfigFromArgs.setAddStyleSheet(addStyleSheet);
- }
-
- // Merge config info into this object
- setConfig(monitorConfigFromArgs);
-
- // Verify config options
- verifyConfig();
- }
-
- /**
- * Get message from resource bundle.
- */
- private String getMessage(String messageID, String defaultMessage)
- {
- return getMessage(messageID, null, defaultMessage);
- }
-
- /**
- * Get message from resource bundle.
- */
- private String getMessage(
- String messageID,
- String messageData,
- String defaultMessage)
- {
- String message = defaultMessage;
- if (messageList != null)
- message = messageList.getMessage(messageID, messageData, defaultMessage);
- else
- message += " " + messageData + ".";
-
- return message;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigReaderImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigReaderImpl.java
deleted file mode 100644
index 004abca8e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigReaderImpl.java
+++ /dev/null
@@ -1,479 +0,0 @@
-/*******************************************************************************
- * 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.monitor.config.impl;
-
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.Reader;
-
-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.common.AddStyleSheet;
-import org.eclipse.wst.wsi.internal.core.common.impl.AddStyleSheetImpl;
-import org.eclipse.wst.wsi.internal.core.monitor.config.Comment;
-import org.eclipse.wst.wsi.internal.core.monitor.config.ManInTheMiddle;
-import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfig;
-import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfigReader;
-import org.eclipse.wst.wsi.internal.core.monitor.config.Redirect;
-import org.eclipse.wst.wsi.internal.core.util.MessageList;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * Defines the implementation used to read the monitor config documents.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class MonitorConfigReaderImpl implements MonitorConfigReader
-{
- /**
- * Message list reference.
- */
- protected MessageList messageList = null;
-
- /**
- * Document location.
- */
- protected String documentURI;
-
- /**
- * Initialize monitor config.
- */
- public void init(MessageList messageList)
- {
- this.messageList = messageList;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.MonitorConfigReader#readMonitorConfig(String)
- */
- public MonitorConfig readMonitorConfig(String monitorConfigURI)
- throws WSIException
- {
- FileReader fileReader = null;
-
- try
- {
- fileReader = new FileReader(monitorConfigURI);
- }
-
- catch (FileNotFoundException fnfe)
- {
- throw new WSIFileNotFoundException(
- getMessage("config02", monitorConfigURI, "Could not find file:"),
- fnfe);
- }
-
- catch (Exception e)
- {
- throw new WSIException(
- getMessage("config03", monitorConfigURI, "Could not read file:"),
- e);
- }
-
- return readMonitorConfig(fileReader);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.MonitorConfigReader#readMonitorConfig(Reader)
- */
- public MonitorConfig readMonitorConfig(Reader reader) throws WSIException
- {
- MonitorConfig monitorConfig = new MonitorConfigImpl();
-
- // Parse XML
- Document doc = XMLUtils.parseXML(reader);
-
- // Parse elements in the config document
- parseConfigElement(monitorConfig, doc.getDocumentElement());
-
- return monitorConfig;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentReader#getLocation()
- */
- public String getLocation()
- {
- return this.documentURI;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentReader#setLocation(String)
- */
- public void setLocation(String documentURI)
- {
- this.documentURI = documentURI;
- }
-
- /**
- * Parse config element.
- */
- private void parseConfigElement(MonitorConfig monitorConfig, Element element)
- throws WSIException
- {
- // ADD: Verify that this is the config element
-
- // Get first child element
- Element nextElement = XMLUtils.getFirstChild(element);
-
- boolean isLogDurationDefine = false;
- boolean isCleanupTimeoutSecondsDefine = false;
-
- // Process each child element
- while (nextElement != null)
- {
- // <logFile>
- if (isElement(nextElement, WSIConstants.ELEM_LOG_FILE))
- {
- // Parse the log element
- parseLogFileElement(monitorConfig, nextElement);
- }
-
- // <logDuration>
- else if (isElement(nextElement, WSIConstants.ELEM_LOG_DURATION))
- {
- monitorConfig.setLogDuration(getIntValue(nextElement));
- if (monitorConfig.getLogDuration() < 0)
- throw new IllegalArgumentException(
- getMessage(
- "config09",
- WSIConstants.ELEM_LOG_DURATION,
- "Parameter value can't be negative. Element name:"));
- isLogDurationDefine = true;
- }
-
- // <cleanupTimeoutSeconds>
- else if (
- isElement(nextElement, WSIConstants.ELEM_CLEANUP_TIMEOUT_SECONDS))
- {
- monitorConfig.setTimeout(getIntValue(nextElement));
- if (monitorConfig.getTimeout() < 0)
- throw new IllegalArgumentException(
- getMessage(
- "config09",
- WSIConstants.ELEM_CLEANUP_TIMEOUT_SECONDS,
- "Parameter value can't be negative. Element name:"));
- isCleanupTimeoutSecondsDefine = true;
- }
-
- // <manInTheMiddle>
- else if (isElement(nextElement, WSIConstants.ELEM_MAN_IN_THE_MIDDLE))
- {
- ManInTheMiddle manInTheMiddle = new ManInTheMiddleImpl();
- monitorConfig.setManInTheMiddle(manInTheMiddle);
- parseManInTheMiddleElement(manInTheMiddle, nextElement);
- }
-
- // <comment>
- else if (isElement(nextElement, WSIConstants.ELEM_COMMENT))
- {
- Comment comment = new CommentImpl();
- comment.setText(XMLUtils.getText(nextElement));
- monitorConfig.setComment(comment);
- }
-
- else
- {
- // ADD: handle invalid elements
- }
-
- // Get next element
- nextElement = XMLUtils.getNextSibling(nextElement);
- }
-
- if (!isLogDurationDefine)
- {
- throw new IllegalArgumentException(
- getMessage(
- "config10",
- WSIConstants.ELEM_LOG_DURATION,
- "Element is missing. Element name:"));
- }
- if (!isCleanupTimeoutSecondsDefine)
- {
- throw new IllegalArgumentException(
- getMessage(
- "config10",
- WSIConstants.ELEM_CLEANUP_TIMEOUT_SECONDS,
- "Element is missing. Element name:"));
- }
- }
-
- /**
- * Parse logFile element.
- */
- private void parseLogFileElement(
- MonitorConfig monitorConfig,
- Element element)
- throws WSIException
- {
- // Get the location attribute
- monitorConfig.setLogLocation(
- XMLUtils.getAttributeValue(element, WSIConstants.ATTR_LOCATION));
-
- // Get the replace attribute
- monitorConfig.setReplaceLog(
- XMLUtils.getBooleanValue(element, WSIConstants.ATTR_REPLACE, false));
-
- // Get first child element
- Element nextElement = XMLUtils.getFirstChild(element);
-
- // Process each child element
- while (nextElement != null)
- {
- // <addStyleSheet>
- if (isElement(nextElement, WSIConstants.ELEM_ADD_STYLE_SHEET))
- {
- AddStyleSheet addStyleSheet = new AddStyleSheetImpl();
-
- // Parse the element
- TestUtils.parseAddStyleSheet(
- nextElement,
- addStyleSheet,
- WSIConstants.DEFAULT_LOG_XSL);
-
- // Set add style sheet
- monitorConfig.setAddStyleSheet(addStyleSheet);
- }
-
- else
- {
- // ADD: handle invalid elements
- }
-
- // Get next element
- nextElement = XMLUtils.getNextSibling(nextElement);
- }
- }
-
- /**
- * Parse manIntheMiddle element.
- */
- private void parseManInTheMiddleElement(
- ManInTheMiddle manInTheMiddle,
- Element element)
- throws WSIException
- {
- // Get first child element
- Element nextElement = XMLUtils.getFirstChild(element);
-
- // Process each child element
- while (nextElement != null)
- {
- // <redirect>
- if (isElement(nextElement, WSIConstants.ELEM_REDIRECT))
- {
- Redirect redirect = new RedirectImpl();
- manInTheMiddle.addRedirect(redirect);
- parseRedirectElement(redirect, nextElement);
- }
-
- // <comment>
- else if (isElement(nextElement, WSIConstants.ELEM_COMMENT))
- {
- Comment comment = new CommentImpl();
- comment.setText(XMLUtils.getText(nextElement));
- manInTheMiddle.setComment(comment);
- }
-
- else
- {
- // ADD: handle invalid elements
- }
-
- // Get next element
- nextElement = XMLUtils.getNextSibling(nextElement);
- }
- }
-
- /**
- * Parse redirect element.
- */
- private void parseRedirectElement(Redirect redirect, Element element)
- throws WSIException
- {
- // Get first child element
- Element nextElement = XMLUtils.getFirstChild(element);
-
- boolean isListenPortDefine = false;
- boolean isSchemeAndHostPortDefine = false;
- boolean isMaxConnectionsDefine = false;
- boolean isReadTimeoutSecondsDefine = false;
-
- // Process each child element
- while (nextElement != null)
- {
- // <listenPort>
- if (isElement(nextElement, WSIConstants.ELEM_LISTEN_PORT))
- {
- redirect.setListenPort(getIntValue(nextElement));
- isListenPortDefine = true;
- }
-
- // <schemeAndHostPort>
- else if (isElement(nextElement, WSIConstants.ELEM_SCHEME_AND_HOSTPORT))
- {
- redirect.setHost(XMLUtils.getText(nextElement));
- isSchemeAndHostPortDefine = true;
- }
-
- // <maxConnections>
- else if (isElement(nextElement, WSIConstants.ELEM_MAX_CONNECTIONS))
- {
- redirect.setMaxConnections(getIntValue(nextElement));
- isMaxConnectionsDefine = true;
- }
-
- // <readTimeoutSeconds>
- else if (isElement(nextElement, WSIConstants.ELEM_READ_TIMEOUT_SECONDS))
- {
- redirect.setReadTimeoutSeconds(getIntValue(nextElement));
- if (redirect.getReadTimeoutSeconds() < 0)
- {
- throw new IllegalArgumentException(
- getMessage(
- "config09",
- WSIConstants.ELEM_READ_TIMEOUT_SECONDS,
- "Parameter value can't be negative. Element name:"));
- }
- isReadTimeoutSecondsDefine = true;
- }
-
- // <comment>
- else if (isElement(nextElement, WSIConstants.ELEM_COMMENT))
- {
- Comment comment = new CommentImpl();
- comment.setText(XMLUtils.getText(nextElement));
- redirect.setComment(comment);
- }
-
- else
- {
- // ADD: handle invalid elements
- }
-
- // Get next element
- nextElement = XMLUtils.getNextSibling(nextElement);
- }
-
- if (!isListenPortDefine)
- {
- throw new IllegalArgumentException(
- getMessage(
- "config10",
- WSIConstants.ELEM_LISTEN_PORT,
- "Element is missing. Element name:"));
- }
- if (!isSchemeAndHostPortDefine)
- {
- throw new IllegalArgumentException(
- getMessage(
- "config10",
- WSIConstants.ELEM_SCHEME_AND_HOSTPORT,
- "Element is missing. Element name:"));
-
- }
- if (!isMaxConnectionsDefine)
- {
- throw new IllegalArgumentException(
- getMessage(
- "config10",
- WSIConstants.ELEM_MAX_CONNECTIONS,
- "Element is missing. Element name:"));
- }
- if (!isReadTimeoutSecondsDefine)
- {
- throw new IllegalArgumentException(
- getMessage(
- "config10",
- WSIConstants.ELEM_READ_TIMEOUT_SECONDS,
- "Element is missing. Element name:"));
- }
- }
-
- /**
- * Determine if this element matches specified local name in the analyzer config namespace.
- */
- private boolean isElement(Element element, String localName)
- {
- return isElement(
- element,
- WSIConstants.NS_URI_WSI_MONITOR_CONFIG,
- localName);
- }
-
- /**
- * Determine if this element matches specified local name in the analyzer config namespace.
- */
- private boolean isElement(
- Element element,
- String namespace,
- String localName)
- {
- return XMLUtils.isElement(element, namespace, localName);
- }
-
- /**
- * Get element text as an int.
- */
- private int getIntValue(Element element) throws WSIException
- {
- int returnValue;
- String intValue = null;
-
- // Get value as a string
- if ((intValue = XMLUtils.getText(element)) == null)
- {
- throw new WSIException(
- getMessage(
- "config04",
- element.getLocalName() + "Element must contain an integer value:"));
- }
-
- else
- {
- returnValue = Integer.valueOf(intValue).intValue();
- }
-
- // Return int
- return returnValue;
- }
-
- /**
- * Get message from resource bundle.
- */
- private String getMessage(String messageID, String defaultMessage)
- {
- return getMessage(messageID, null, defaultMessage);
- }
-
- /**
- * Get message from resource bundle.
- */
- private String getMessage(
- String messageID,
- String messageData,
- String defaultMessage)
- {
- String message = defaultMessage;
- if (messageList != null)
- message = messageList.getMessage(messageID, messageData, defaultMessage);
- else
- message += " " + messageData + ".";
-
- return message;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/RedirectImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/RedirectImpl.java
deleted file mode 100644
index a1d169ca2..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/RedirectImpl.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * 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.monitor.config.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.monitor.config.Comment;
-import org.eclipse.wst.wsi.internal.core.monitor.config.Redirect;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-
-/**
- * The implementation for monitor config Redirect element.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class RedirectImpl implements Redirect
-{
- /**
- * Comment.
- */
- protected Comment comment;
-
- /**
- * Listen port.
- */
- protected int listenPort;
-
- /**
- * Host.
- */
- protected String host;
-
- /**
- * To protocol.
- */
- protected String toProtocol;
-
- /**
- * To port.
- */
- protected int toPort;
-
- /**
- * To host.
- */
- protected String toHost;
-
- /**
- * Maximum connections.
- */
- protected int maxConnections;
-
- /**
- * Read timeout seconds.
- */
- protected int readTimeoutSeconds;
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.Redirect#getComment()
- */
- public Comment getComment()
- {
- return this.comment;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.Redirect#setComment(comment)
- */
- public void setComment(Comment comment)
- {
- this.comment = comment;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.Redirect#getListenPort()
- */
- public int getListenPort()
- {
- return this.listenPort;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.Redirect#setListenPort(int)
- */
- public void setListenPort(int listenPort)
- {
- this.listenPort = listenPort;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.Redirect#getHost()
- */
- public String getHost()
- {
- return this.host;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.Redirect#setHost(String)
- */
- public void setHost(String host)
- {
- this.host = host;
-
- // Parse location to get protocol, host and port
- URL url;
- try
- {
- url = new URL(host);
- this.toProtocol = url.getProtocol();
- this.toHost = url.getHost();
- this.toPort = url.getPort();
- if (this.toPort == -1)
- {
- if (this.toProtocol.equalsIgnoreCase("http"))
- this.toPort = 80;
- else
- this.toPort = 80;
- }
- }
-
- catch (MalformedURLException mue)
- {
- throw new IllegalArgumentException(
- "The "
- + WSIConstants.ELEM_SCHEME_AND_HOSTPORT
- + " option contains an invalid value: "
- + host);
- }
-
- if ((url.getPath() != null && !url.getPath().equals(""))
- || (url.getQuery() != null && !url.getQuery().equals("")))
- throw new IllegalArgumentException(
- "The "
- + WSIConstants.ELEM_SCHEME_AND_HOSTPORT
- + " option must contain only a scheme, host and port: "
- + host);
- }
-
- /**
- * Get to port.
- * @see org.eclipse.wst.wsi.monitor.config.Redirect#getToPort()
- */
- public int getToPort()
- {
- return this.toPort;
- }
-
- /**
- * Get to host.
- * @see org.eclipse.wst.wsi.monitor.config.Redirect#getToHost()
- */
- public String getToHost()
- {
- return this.toHost;
- }
-
- /**
- * Get to protocol.
- * @see org.eclipse.wst.wsi.monitor.config.Redirect#getToProtocol()
- */
- public String getToProtocol()
- {
- return this.toProtocol;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.Redirect#getMaxConnections()
- */
- public int getMaxConnections()
- {
- return this.maxConnections;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.Redirect#setMaxConnections(int)
- */
- public void setMaxConnections(int maxConnections)
- {
- this.maxConnections = maxConnections;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.Redirect#getReadTimeoutSeconds()
- */
- public int getReadTimeoutSeconds()
- {
- return this.readTimeoutSeconds;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.monitor.config.Redirect#setReadTimeoutSeconds(int)
- */
- public void setReadTimeoutSeconds(int readTimeoutSeconds)
- {
- this.readTimeoutSeconds = readTimeoutSeconds;
- }
-
- /**
- * Get string representation of this object.
- */
- public String toString()
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- pw.println(" comment ................... " + this.comment);
- pw.println(" listenPort ................ " + this.listenPort);
- pw.println(" host ...................... " + cutHost(this.host));
- pw.println(" maxConnections ............ " + this.maxConnections);
- pw.println(" readTimeoutSeconds ........ " + this.readTimeoutSeconds);
-
- return sw.toString();
- }
-
- /**
- * Formats host name according to the specification (path is ommited).
- * @param host
- * @return
- */
- private String cutHost(String host)
- {
- try
- {
- URL url = new URL(host);
- String port = url.getPort() > -1 ? String.valueOf(url.getPort()) : "80";
- // REMOVED: This code only works on 1.4
- // String.valueOf(url.getDefaultPort());
- return url.getProtocol() + "://" + url.getHost() + ":" + port;
- }
- catch (Exception e)
- {
- return host;
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentElement#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- // Start element
- pw.println(" <" + nsName + WSIConstants.ELEM_REDIRECT + ">");
-
- // Comment
- if (this.comment != null)
- {
- pw.println(this.comment.toXMLString(nsName));
- }
-
- // listenPort
- pw.print(" <" + nsName + WSIConstants.ELEM_LISTEN_PORT + ">");
- pw.print(getListenPort());
- pw.println("</" + nsName + WSIConstants.ELEM_LISTEN_PORT + ">");
-
- // schemeAndHostPort
- pw.print(
- " <" + nsName + WSIConstants.ELEM_SCHEME_AND_HOSTPORT + ">");
- pw.print(XMLUtils.xmlEscapedString(getHost()));
- pw.println("</" + nsName + WSIConstants.ELEM_SCHEME_AND_HOSTPORT + ">");
-
- // maxConnections
- pw.print(" <" + nsName + WSIConstants.ELEM_MAX_CONNECTIONS + ">");
- pw.print(getMaxConnections());
- pw.println("</" + nsName + WSIConstants.ELEM_MAX_CONNECTIONS + ">");
-
- // readTimeoutSeconds
- pw.print(
- " <" + nsName + WSIConstants.ELEM_READ_TIMEOUT_SECONDS + ">");
- pw.print(getReadTimeoutSeconds());
- pw.println("</" + nsName + WSIConstants.ELEM_READ_TIMEOUT_SECONDS + ">");
-
- // End Element
- pw.println(" </" + nsName + WSIConstants.ELEM_REDIRECT + ">");
-
- return sw.toString();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/EntryTypeList.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/EntryTypeList.java
deleted file mode 100644
index 6d8d13a57..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/EntryTypeList.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-
-/**
- * This interface is used to maintain a profile EntryTypeList.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface EntryTypeList extends DocumentElement
-{
- /**
- * Log input.
- */
- public static final String LOG_INPUT_NONE = "none";
- public static final String LOG_INPUT_REQUEST = "request";
- public static final String LOG_INPUT_RESPONSE = "response";
-
- /**
- * WSDL input.
- */
- public static final String WSDL_INPUT_NONE = "none";
-
- /**
- * UDDI input.
- */
- public static final String UDDI_INPUT_NONE = "none";
-
- /**
- * Get log input.
- * @return log input.
- * @see #setLogInput
- */
- public String getLogInput();
-
- /**
- * Set log input.
- * @param logInput log input.
- * @see #getLogInput
- */
- public void setLogInput(String logInput);
-
- /**
- * Get WSDL input.
- * @return WSDL input.
- * @see #setWSDLInput
- */
- public String getWSDLInput();
-
- /**
- * Set WSDL input.
- * @param wsdlInput WSDL input.
- * @see #getWSDLInput
- */
- public void setWSDLInput(String wsdlInput);
-
- /**
- * Get UDDI input.
- * @return UDDI input.
- * @see #setUDDIInput
- */
- public String getUDDIInput();
-
- /**
- * Set UDDI input.
- * @param uddiInput UDDI input.
- * @see #getUDDIInput
- */
- public void setUDDIInput(String uddiInput);
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/Profile.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/Profile.java
deleted file mode 100644
index bc326c31b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/Profile.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-
-/**
- * This interface is used to maintain Profile information.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface Profile extends DocumentElement
-{
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/ProfileArtifact.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/ProfileArtifact.java
deleted file mode 100644
index 1934f2a87..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/ProfileArtifact.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import java.util.LinkedList;
-import java.util.Vector;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-import org.eclipse.wst.wsi.internal.core.util.ArtifactType;
-
-/**
- * An artifact contains a set of related test assertions.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface ProfileArtifact extends DocumentElement
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_ARTIFACT;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_ASSERTIONS, ELEM_NAME);
-
- /**
- * Get type.
- * @return artifact type.
- * @see #setType
- */
- public ArtifactType getType();
-
- /**
- * Set type.
- * @param type an artifact type.
- * @see #getType
- */
- public void setType(ArtifactType type);
-
- /**
- * Get specification list.
- * @return specification list.
- * @see #setSpecificationList
- */
- public Vector getSpecificationList();
-
- /**
- * Set specification list.
- * @param specificationList specification list.
- * @see #getSpecificationList
- */
- public void setSpecificationList(Vector specificationList);
-
- /**
- * Get test assertion list.
- * @return test assertion list.
- */
- public LinkedList getTestAssertionList();
-
- /**
- * Get test assertion.
- * @param id test assertion id.
- * @return test assertion.
- */
- public TestAssertion getTestAssertion(String id);
-
- /**
- * Add test assertion.
- * @param testAssertion test assertion.
- */
- public void addTestAssertion(TestAssertion testAssertion);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/ProfileAssertions.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/ProfileAssertions.java
deleted file mode 100644
index 3c6776166..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/ProfileAssertions.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import java.util.TreeMap;
-import java.util.Vector;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.document.WSIDocument;
-
-/**
- * This interface maintains profile assertions.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface ProfileAssertions extends WSIDocument
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_PROFILE_ASSERTIONS;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_ASSERTIONS, ELEM_NAME);
-
- /**
- * Get list of profiles.
- * @return list of profiles.
- * @see #setProfileList
- */
- public Vector getProfileList();
-
- /**
- * Set list of profiles.
- * @param profileList list of profiles.
- * @see #getProfileList
- */
- public void setProfileList(Vector profileList);
-
- /**
- * Add profile.
- * @param profile profile.
- */
- public void addProfile(Profile profile);
-
- /**
- * Get list of artifacts.
- * @return list of artifacts.
- * @see #setArtifactList
- */
- public TreeMap getArtifactList();
-
- /**
- * Get artifact.
- * @param type an artifact type.
- * @return a profile artifact based on the given type.
- */
- public ProfileArtifact getArtifact(String type);
-
- /**
- * Set list of artifacts.
- * @param artifactList a list pf profile artifiacts.
- * @see #getArtifactList
- */
- public void setArtifactList(TreeMap artifactList);
-
- /**
- * Add artifact.
- * @param artifact profile artifact.
- */
- public void addArtifact(ProfileArtifact artifact);
-
- /**
- * Get test assertion.
- * @param id test assertion id.
- * @return test assertion.
- */
- public TestAssertion getTestAssertion(String id);
-
- /**
- * Create artifact.
- * @return newly created profile artifact.
- */
- public ProfileArtifact createArtifact();
-
- /**
- * Returns the name of the profile test assertion document.
- * @return the name of the document.
- */
- public String getTADName();
-
- /**
- * Set the name of the profile test assertion document.
- * @param documentName the name of the document.
- */
- public void setTADName(String documentName);
-
- /**
- * Returns the version of the profile test assertion document.
- * @return the version of the document.
- */
- public String getTADVersion();
-
- /**
- * Set the version of the profile test assertion document.
- * @param documentVersion the version of the document.
- */
- public void setTADVersion(String documentVersion);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/ProfileAssertionsReader.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/ProfileAssertionsReader.java
deleted file mode 100644
index 00b0a3de8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/ProfileAssertionsReader.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import java.io.Reader;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.document.DocumentReader;
-
-/**
- * Defines the interface used to read a profile assertions documents.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface ProfileAssertionsReader extends DocumentReader
-{
- /**
- * Read the profile assertions file.
- * @param assertionsURI he profile assertions file location.
- * @return the ProfileAssertions object.
- * @throws WSIException if problem occur while reading the file.
- */
- public ProfileAssertions readProfileAssertions(String assertionsURI)
- throws WSIException;
-
- /**
- * Read the profile assertions file.
- * @param reader a Reader object.
- * @return the ProfileAssertions object.
- * @throws WSIException if problem occur while reading the file.
- */
- public ProfileAssertions readProfileAssertions(Reader reader)
- throws WSIException;
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/TestAssertion.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/TestAssertion.java
deleted file mode 100644
index ef5347554..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/TestAssertion.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import java.util.Vector;
-
-/**
- * A test assertion is one assertion in a profile definition.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface TestAssertion
-{
- public static final String TYPE_INFORMATIONAL = "informational";
-
- /**
- * Get test assertion id.
- * @return test assertion id.
- * @see #setId
- */
- public String getId();
-
- /**
- * Set test assertion id.
- * @param id test assertion id.
- * @see #getId
- */
- public void setId(String id);
-
- /**
- * Get test assertion type.
- * @return test assertion type.
- * @see #setType
- */
- public String getType();
-
- /**
- * Set test assertion type.
- * @param type test assertion type.
- * @see #getType
- */
- public void setType(String type);
-
- /**
- * Get test assertion primary entry type name.
- * @return test assertion primary entry type name.
- * @see #setEntryTypeName
- */
- public String getEntryTypeName();
-
- /**
- * Set test assertion primary entry type name.
- * @param entryTypeName test assertion primary entry type name.
- * @see #getEntryTypeName
- */
- public void setEntryTypeName(String entryTypeName);
-
- /**
- * Get enabled indicator.
- * @return enabled indicator.
- * @see #setEnabled
- */
- public boolean isEnabled();
-
- /**
- * Set enabled indicator.
- * @param enabled enabled indicator.
- * @see #isEnabled
- */
- public void setEnabled(boolean enabled);
-
- /**
- * Get context.
- * @return context.
- * @see #setContext
- */
- public String getContext();
-
- /**
- * Set context.
- * @param context context.
- * @see #getContext
- */
- public void setContext(String context);
-
- /**
- * Get assertion description.
- * @return assertion description.
- * @see #setAssertionDescription
- */
- public String getAssertionDescription();
-
- /**
- * Set assertion description.
- * @param assertionDescription assertion description.
- * @see #getAssertionDescription
- */
- public void setAssertionDescription(String assertionDescription);
-
- /**
- * Get failure message.
- * @return failure message.
- * @see #setFailureMessage
- */
- public String getFailureMessage();
-
- /**
- * Set failure message.
- * @param failureMessage failure message.
- * @see #getFailureMessage
- */
- public void setFailureMessage(String failureMessage);
-
- /**
- * Get failure detail description.
- * @return failure detail description.
- * @see #setFailureDetailDescription
- */
- public String getFailureDetailDescription();
-
- /**
- * Set failure detail description.
- * @param failureDetailDescription failure detail description.
- * @see #getFailureDetailDescription
- */
- public void setFailureDetailDescription(String failureDetailDescription);
-
- /**
- * Get detail description.
- * @return detail description.
- * @see #setDetailDescription
- */
- public String getDetailDescription();
-
- /**
- * Set detail description.
- * @param detailDescription detail description.
- * @see #getDetailDescription
- */
- public void setDetailDescription(String detailDescription);
-
- /**
- * Get additional entry type list.
- * @return additional entry type list.
- * @see #setAdditionalEntryTypeList
- */
- public EntryTypeList getAdditionalEntryTypeList();
-
- /**
- * Set additional entry type list.
- * @param entryTypeList additional entry type list.
- * @see #getAdditionalEntryTypeList
- */
- public void setAdditionalEntryTypeList(EntryTypeList entryTypeList);
-
- /**
- * Get list of prereq ids.
- * @return list of prereq ids.
- */
- public Vector getPrereqIdList();
-
- /**
- * Add prereq test assertion id.
- * @param prereqId prereq test assertion id.
- */
- public void addPrereqId(String prereqId);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/EntryTypeListImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/EntryTypeListImpl.java
deleted file mode 100644
index 5d81f2d04..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/EntryTypeListImpl.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * 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.impl;
-
-import org.eclipse.wst.wsi.internal.core.profile.EntryTypeList;
-
-/**
- * This implementation is used to maintain a profile EntryTypeList.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class EntryTypeListImpl implements EntryTypeList
-{
- /**
- * Log input.
- */
- protected String logInput = null;
-
- /**
- * WSDL input.
- */
- protected String wsdlInput = null;
-
- /**
- * UDDI input.
- */
- protected String uddiInput = null;
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.EntryTypeList#getLogInput()
- */
- public String getLogInput()
- {
- return this.logInput;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.EntryTypeList#setLogInput(String)
- */
- public void setLogInput(String logInput)
- {
- this.logInput = logInput;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.EntryTypeList#getWSDLInput()
- */
- public String getWSDLInput()
- {
- return this.wsdlInput;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.EntryTypeList#setWSDLInput(String)
- */
- public void setWSDLInput(String wsdlInput)
- {
- this.wsdlInput = wsdlInput;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.EntryTypeList#getUDDIInput()
- */
- public String getUDDIInput()
- {
- return this.uddiInput;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.EntryTypeList#setUDDIInput(String)
- */
- public void setUDDIInput(String uddiInput)
- {
- this.uddiInput = uddiInput;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentElement#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- return null;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileArtifactImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileArtifactImpl.java
deleted file mode 100644
index b4ab3be23..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileArtifactImpl.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * 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.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.LinkedList;
-import java.util.TreeMap;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.util.ArtifactType;
-
-/**
- * An artifact contains a set of related test assertions.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class ProfileArtifactImpl implements ProfileArtifact
-{
- /**
- * Artifact type.
- */
- protected ArtifactType type;
-
- /**
- * Test assertion map.
- */
- protected TreeMap testAssertionMap = new TreeMap();
-
- /**
- * Test assertion list.
- */
- protected LinkedList testAssertionList = new LinkedList();
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.ReportArtifact#getType()
- */
- public ArtifactType getType()
- {
- return this.type;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.ReportArtifact#setType(ArtifactType)
- */
- public void setType(ArtifactType type)
- {
- this.type = type;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.ReportArtifact#getSpecificationList()
- */
- public Vector getSpecificationList()
- {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.ReportArtifact#setSpecificationList(Vector)
- */
- public void setSpecificationList(Vector specificationList)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.ReportArtifact#getTestAssertionList()
- */
- public LinkedList getTestAssertionList()
- {
- return this.testAssertionList;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.ReportArtifact#getTestAssertion(String)
- */
- public TestAssertion getTestAssertion(String id)
- {
- return (TestAssertion) this.testAssertionMap.get(id);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.ReportArtifact#addTestAssertion(TestAssertion)
- */
- public void addTestAssertion(TestAssertion testAssertion)
- {
- // ADD: Need to merge the list and map
- this.testAssertionMap.put(testAssertion.getId(), testAssertion);
- this.testAssertionList.add(testAssertion);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentElement#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- // ReportArtifact
- pw.println(" <" + nsName + ELEM_NAME + ">");
-
- pw.println(" </" + nsName + ELEM_NAME + ">");
-
- return sw.toString();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileAssertionsImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileAssertionsImpl.java
deleted file mode 100644
index 2c81419eb..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileAssertionsImpl.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * 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.impl;
-
-import java.util.Iterator;
-import java.util.TreeMap;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.profile.Profile;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-
-/**
- * This class ...
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class ProfileAssertionsImpl implements ProfileAssertions
-{
- /**
- * Location of the profile definition.
- */
- protected String documentURI;
-
- /**
- * Name of the profile test assertion document.
- */
- protected String documentName;
-
- /**
- * Version of the profile test assertion document.
- */
- protected String documentVersion;
-
- // ADD: A profile definition should also have a description.
-
- /**
- * List of profiles.
- */
- Vector profileList = new Vector();
-
- /**
- * List of artifacts.
- */
- TreeMap artifactList = new TreeMap();
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.ProfileAssertions#getProfileList()
- */
- public Vector getProfileList()
- {
- return this.profileList;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.ProfileAssertions#setProfileList(Vector)
- */
- public void setProfileList(Vector profileList)
- {
- this.profileList = profileList;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.ProfileAssertions#addProfile(Profile)
- */
- public void addProfile(Profile profile)
- {
- this.profileList.add(profile);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.ProfileAssertions#getArtifactList()
- */
- public TreeMap getArtifactList()
- {
- return this.artifactList;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.ProfileAssertions#getArtifact(java.lang.String)
- */
- public ProfileArtifact getArtifact(String type)
- {
- return (ProfileArtifact) this.artifactList.get(type);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.ProfileAssertions#setArtifactList(TreeMap)
- */
- public void setArtifactList(TreeMap artifactList)
- {
- this.artifactList = artifactList;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.ProfileAssertions#addArtifact(ReportArtifact)
- */
- public void addArtifact(ProfileArtifact artifact)
- {
- this.artifactList.put(artifact.getType(), artifact);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.ProfileAssertions#getTestAssertion(String)
- */
- public TestAssertion getTestAssertion(String id)
- {
- TestAssertion testAssertion = null;
-
- // Go through the list of artifacts and find the test assertion
- Iterator iterator = artifactList.values().iterator();
- while ((iterator.hasNext()) && (testAssertion == null))
- {
- testAssertion = ((ProfileArtifact) iterator.next()).getTestAssertion(id);
- }
-
- return testAssertion;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.ProfileAssertions#createArtifact()
- */
- public ProfileArtifact createArtifact()
- {
- return new ProfileArtifactImpl();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.WSIDocument#getLocation()
- */
- public String getLocation()
- {
- return this.documentURI;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.WSIDocument#setLocation(String)
- */
- public void setLocation(String documentURI)
- {
- this.documentURI = documentURI;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions#getTADName()
- */
- public String getTADName()
- {
- return this.documentName;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions#setTADName(String)
- */
- public void setTADName(String documentName)
- {
- this.documentName = documentName;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions#getTADVersion()
- */
- public String getTADVersion()
- {
- return this.documentVersion;
- }
-
- /**
- * @see org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions#setTADVersion(String)
- */
- public void setTADVersion(String documentVersion)
- {
- this.documentVersion = documentVersion;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentElement#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- return null;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileAssertionsReaderImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileAssertionsReaderImpl.java
deleted file mode 100644
index 3b2a9d9e0..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileAssertionsReaderImpl.java
+++ /dev/null
@@ -1,543 +0,0 @@
-/*******************************************************************************
- * 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.impl;
-
-import java.io.Reader;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.TreeMap;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.EntryTypeList;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertionsReader;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.util.ArtifactType;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.XMLReader;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * This class ...
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class ProfileAssertionsReaderImpl implements ProfileAssertionsReader
-{
- /**
- * Profile assertions.
- */
- protected ProfileAssertions profileAssertions;
-
- /**
- * ReportArtifact list.
- */
- protected TreeMap artifactList = new TreeMap();
-
- /**
- * Create new reader.
- */
- public ProfileAssertionsReaderImpl()
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.ProfileAssertionsReader#readProfileAssertions(String)
- */
- public ProfileAssertions readProfileAssertions(String assertionsURI)
- throws WSIException
- {
- return readProfileAssertions(new InputSource(assertionsURI));
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.ProfileAssertionsReader#readProfileAssertions(Reader)
- */
- public ProfileAssertions readProfileAssertions(Reader reader)
- throws WSIException
- {
- return readProfileAssertions(new InputSource(reader));
- }
-
- /**
- * Read profile assertions.
- */
- private ProfileAssertions readProfileAssertions(InputSource inputSource)
- throws WSIException
- {
- // Create profile assertions
- profileAssertions = new ProfileAssertionsImpl();
-
- // Profile parts are put into a vector
- artifactList = new TreeMap();
-
- try
- {
- // Create xml reader
- XMLReader reader = XMLUtils.getXMLReader();
-
- // Set content handler to inner class
- reader.setContentHandler(new ProfileAssertionsHandler());
-
- // Parse profile definition file
- reader.parse(inputSource);
- }
-
- catch (Exception e)
- {
- throw new WSIException("Could not read and parse profile definition.", e);
- }
- finally
- {
- //Check to see if the version of test asssertion document is supported
- if (!Utils.isValidProfileTADVersion(profileAssertions))
- {
- throw new WSIException(
- "\nVersion "
- + profileAssertions.getTADVersion()
- + " of the \""
- + profileAssertions.getTADName()
- + "\"\n"
- + "document is not compatible with this version of"
- + "\n"
- + "the test tools.");
- }
- }
-
- // The assertions from the TAD are reordered for purposes of processing. All
- // assertions of an artifact are reordered such that prerequisites occur
- // before the assertions they prereq. The assumption is that prerequisites do
- // not cross artifact types.
- //
- Iterator it = artifactList.keySet().iterator();
- // for each artifact type do reordering assertion
- while (it.hasNext())
- {
- ProfileArtifact art = (ProfileArtifact) artifactList.get(it.next());
- // result list of the reordering assertions
- LinkedList res = new LinkedList();
- Iterator it2 = art.getTestAssertionList().iterator();
- // sort the artifact assertions into result list
- while (it2.hasNext())
- {
- // call for each assertion ,
- // if the assertion has the prereq, the prereq will added first into res list
- sortTestAssertions(art, (TestAssertion) it2.next(), res);
- }
- // replace the original assertions list to the prereq reordering assertions list
- art.getTestAssertionList().clear();
- art.getTestAssertionList().addAll(res);
- }
- // Put the profile parts into the profile definition
- profileAssertions.setArtifactList(artifactList);
-
- return profileAssertions;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentReader#getLocation()
- */
- public String getLocation()
- {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentReader#setLocation(String)
- */
- public void setLocation(String documentURI)
- {
- }
-
- /**
- * Recursive walk to order assertions so that assertions are
- * processed following the ones that prereq them.
- * If assertion has prereq, then add it to the result list first.
- *
- * @param art profile artifact for call @link ProfileArtifact#getTestAssertion(String)
- * @param asrt test assertion
- * @param list result list to sort
- */
- private void sortTestAssertions(ProfileArtifact art, TestAssertion asrt, List list)
- {
- // if assertion is null or does not exist, then exit
- if((asrt == null) || list.contains(asrt))
- return;
-
- // if it has not prereq, add the asertion and exit
- if(asrt.getPrereqIdList().isEmpty())
- {
- list.add(asrt);
- return;
- }
- // get list prereq assertion and reqursive call sortTestAssertions this each
- Iterator it = asrt.getPrereqIdList().iterator();
- while(it.hasNext()) {
- String id = (String) it.next();
- sortTestAssertions(art, art.getTestAssertion(id), list);
- }
- list.add(asrt);
- }
-
- /**
- * Inner class: ProfileAssertionsHandler
- */
- class ProfileAssertionsHandler extends DefaultHandler
- {
- private ProfileArtifact artifact = profileAssertions.createArtifact();
- private StringBuffer context = null;
- private StringBuffer assertionDescription = null;
- private StringBuffer failureMessage = null;
- private StringBuffer failureDetailDescription = null;
- private StringBuffer detailDescription = null;
- private StringBuffer testAssertionId = null;
- private String currentElement = null;
- private TestAssertion testAssertion = null;
- private StringBuffer logInput = null;
- private StringBuffer wsdlInput = null;
- private EntryTypeList entryTypeList = null;
-
- // Process start element event
- public void startElement(
- String namespaceURI,
- String localName,
- String qName,
- Attributes atts)
- {
- if (namespaceURI != null
- && (namespaceURI.equals(WSIConstants.NS_URI_WSI_ASSERTIONS_2003)
- || namespaceURI.equals(WSIConstants.NS_URI_WSI_ASSERTIONS)))
- {
- // Save element name
- currentElement = localName;
-
- // <artifact>
- if (localName.equals(WSIConstants.ELEM_ARTIFACT))
- {
- // Create a new profile artifact object
- artifact = profileAssertions.createArtifact();
-
- // Set type
- artifact.setType(
- ArtifactType.newArtifactType(
- atts.getValue(WSIConstants.ATTR_TYPE)));
-
- // ADD: Get specification list
-
- // Add artifact to list of artifact list
- artifactList.put(artifact.getType().getTypeName(), artifact);
- }
-
- // <testAssertion>
- else if (localName.equals(WSIConstants.ELEM_TEST_ASSERTION))
- {
- // Create test assertion
- testAssertion = new TestAssertionImpl();
-
- // Get attribute values
- String id = atts.getValue("", WSIConstants.ATTR_ID);
- testAssertion.setId(id);
- testAssertion.setType(atts.getValue("", WSIConstants.ATTR_TYPE));
- testAssertion.setEntryTypeName(
- atts.getValue("", WSIConstants.ATTR_ENTRY_TYPE));
-
- // if assertion already checked then disable it
- if (alreadyChecked(id))
- testAssertion.setEnabled(false);
- else
- testAssertion.setEnabled(Boolean.valueOf(atts.getValue("", WSIConstants.ATTR_ENABLED)).booleanValue());
-
- // Add test assertion to artifact
- artifact.addTestAssertion(testAssertion);
- }
-
- // <context>
- else if (localName.equals(WSIConstants.ELEM_CONTEXT))
- {
- context = new StringBuffer();
- }
-
- // <assertionDescription>
- else if (localName.equals(WSIConstants.ELEM_ASSERTION_DESCRIPTION))
- {
- assertionDescription = new StringBuffer();
- }
-
- // <failureMessage>
- else if (localName.equals(WSIConstants.ELEM_FAILURE_MESSAGE))
- {
- failureMessage = new StringBuffer();
- }
-
- // <failureDetailDescription>
- else if (localName.equals(WSIConstants.ELEM_FAILURE_DETAIL_DESCRIPTION))
- {
- failureDetailDescription = new StringBuffer();
- }
-
- // <detailDescription>
- else if (localName.equals(WSIConstants.ELEM_DETAIL_DESCRIPTION))
- {
- detailDescription = new StringBuffer();
- }
-
- // <testAssertionID>
- else if (localName.equals(WSIConstants.ELEM_TEST_ASSERTION_ID))
- {
- testAssertionId = new StringBuffer();
- }
-
- // <additionalEntryTypeList>
- else if (
- localName.equals(WSIConstants.ELEM_ADDITIONAL_ENTRY_TYPE_LIST))
- {
- // Create entry type list
- entryTypeList = new EntryTypeListImpl();
- }
-
- // <messageInput>
- else if (localName.equals(WSIConstants.ELEM_MESSAGE_INPUT))
- {
- logInput = new StringBuffer();
- }
-
- // <wsdlInput>
- else if (localName.equals(WSIConstants.ELEM_WSDL_INPUT))
- {
- wsdlInput = new StringBuffer();
- }
- // <profileAssertions>
- else if (localName.equals(WSIConstants.ELEM_PROFILE_ASSERTIONS))
- {
- profileAssertions.setTADName(
- atts.getValue("", WSIConstants.ATTR_NAME));
- profileAssertions.setTADVersion(
- atts.getValue("", WSIConstants.ATTR_VERSION));
- }
-
- /* REMOVE:
- // <uddiInput>
- else if (localName.equals(WSIConstants.ELEM_UDDI_INPUT)) {
- uddiInput = new StringBuffer();
- }
- */
- }
- } // END startElement
-
- public void endElement(String namespaceURI, String localName, String qname)
- {
- // If this is the profile namespace, then check for and process selected elements
- if (namespaceURI != null
- && (namespaceURI.equals(WSIConstants.NS_URI_WSI_ASSERTIONS_2003)
- || namespaceURI.equals(WSIConstants.NS_URI_WSI_ASSERTIONS)))
- {
- // <context>
- if (localName.equals(WSIConstants.ELEM_CONTEXT))
- {
- // Set context in test assertion
- testAssertion.setContext(context.toString());
- context = null;
- }
-
- // <assertionDescription>
- else if (localName.equals(WSIConstants.ELEM_ASSERTION_DESCRIPTION))
- {
- // Set assertion description in test assertion
- testAssertion.setAssertionDescription(
- assertionDescription.toString());
- assertionDescription = null;
- }
-
- // <failureMessage>
- else if (localName.equals(WSIConstants.ELEM_FAILURE_MESSAGE))
- {
- // Set failure message in test assertion
- testAssertion.setFailureMessage(failureMessage.toString());
- failureMessage = null;
- }
-
- // <failureDetailDescription>
- else if (localName.equals(WSIConstants.ELEM_FAILURE_DETAIL_DESCRIPTION))
- {
- // Set failure detail description in test assertion
- testAssertion.setFailureDetailDescription(
- failureDetailDescription.toString());
- failureDetailDescription = null;
- }
-
- // <detailDescription>
- else if (localName.equals(WSIConstants.ELEM_DETAIL_DESCRIPTION))
- {
- // Set detail description in test assertion
- testAssertion.setDetailDescription(detailDescription.toString());
- detailDescription = null;
- }
-
- // <testAssertionID>
- else if (localName.equals(WSIConstants.ELEM_TEST_ASSERTION_ID))
- {
- // Set test assertion id in prereq list
- testAssertion.addPrereqId(testAssertionId.toString());
- testAssertionId = null;
- }
-
- // <addtionalEntryTypeList>
- else if (
- localName.equals(WSIConstants.ELEM_ADDITIONAL_ENTRY_TYPE_LIST))
- {
- // Set target list
- testAssertion.setAdditionalEntryTypeList(entryTypeList);
- entryTypeList = null;
- }
-
- // <messageInput>
- else if (localName.equals(WSIConstants.ELEM_MESSAGE_INPUT))
- {
- // Set test assertion id in prereq list
- entryTypeList.setLogInput(logInput.toString());
- logInput = null;
- }
-
- // <wsdlInput>
- else if (localName.equals(WSIConstants.ELEM_WSDL_INPUT))
- {
- // Set test assertion id in prereq list
- entryTypeList.setWSDLInput(wsdlInput.toString());
- wsdlInput = null;
- }
-
- // <profileAssertions>
- else if (localName.equals(WSIConstants.ELEM_PROFILE_ASSERTIONS))
- {
- // a no-op
- }
-
- /* REMOVE:
- // <uddiInput>
- else if (localName.equals(WSIConstants.ELEM_UDDI_INPUT)) {
- // Set test assertion id in prereq list
- entryTypeList.setUDDIInput(uddiInput.toString());
- uddiInput = null;
- }
- */
- }
- } // END endElement
-
- public void characters(char[] ch, int start, int length)
- {
- // <context>
- if ((context != null)
- && (currentElement.equals(WSIConstants.ELEM_CONTEXT)))
- {
- context.append(ch, start, length);
- }
-
- // <assertionDescription>
- else if (
- (assertionDescription != null)
- && (currentElement.equals(WSIConstants.ELEM_ASSERTION_DESCRIPTION)))
- {
- assertionDescription.append(ch, start, length);
- }
-
- // <failureMessage>
- else if (
- (failureMessage != null)
- && (currentElement.equals(WSIConstants.ELEM_FAILURE_MESSAGE)))
- {
- failureMessage.append(ch, start, length);
- }
-
- // <failureDetailDescription>
- else if (
- (failureDetailDescription != null) && (
- currentElement.equals(WSIConstants.ELEM_FAILURE_DETAIL_DESCRIPTION)))
- {
- failureDetailDescription.append(ch, start, length);
- }
-
- // <detailDescription>
- else if (
- (detailDescription != null)
- && (currentElement.equals(WSIConstants.ELEM_DETAIL_DESCRIPTION)))
- {
- detailDescription.append(ch, start, length);
- }
-
- // <testAssertionID>
- else if (
- (testAssertionId != null)
- && (currentElement.equals(WSIConstants.ELEM_TEST_ASSERTION_ID)))
- {
- testAssertionId.append(ch, start, length);
- }
-
- // <messageInput>
- else if (
- (logInput != null)
- && (currentElement.equals(WSIConstants.ELEM_MESSAGE_INPUT)))
- {
- logInput.append(ch, start, length);
- }
-
- // <wsdlInput>
- else if (
- (wsdlInput != null)
- && (currentElement.equals(WSIConstants.ELEM_WSDL_INPUT)))
- {
- wsdlInput.append(ch, start, length);
- }
-
- /* REMOVE:
- // <uddiInput>
- else if ((uddiInput != null) && (currentElement.equals(WSIConstants.ELEM_UDDI_INPUT))) {
- uddiInput.append(ch, start, length);
- }
- */
- }
- }
-
- /**
- * NOTE that this api assumes that base wsdl validator has already validated
- * the wsdl document and corresponding schemas against the wsdl 1.1 specification.
- * Note also that there are a number of duplicate checks between the base validator
- * and the ws-i validator. Since some of these checks are cpu intensive, we disable
- * those assertions here.
- *
- * Returns true if the assertion has already been checked by the base validator.
- * @param testAssertion
- * @return true if the assertion has already been checked by the base validator.
- */
- protected boolean alreadyChecked(String id)
- {
- boolean result = false;
- if (id != null)
- {
- result = (id.equals("BP2110") ||
- id.equals("BP2115") ||
- id.equals("BP2417") ||
- id.equals("BP2114") ||
- id.equals("BP2123") ||
- id.equals("SSBP2209") ||
- id.equals("AP2209"));
- }
- return result;
-}
-
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/TestAssertionImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/TestAssertionImpl.java
deleted file mode 100644
index 769757a12..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/TestAssertionImpl.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * 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.impl;
-
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.profile.EntryTypeList;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-
-/**
- * This class ...
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class TestAssertionImpl implements TestAssertion
-{
- /**
- * Test assertion id.
- */
- protected String id = null;
-
- /**
- * Test assertion type.
- */
- protected String type = null;
-
- /**
- * Test assertion primary entry type name.
- */
- protected String entryTypeName = null;
-
- /**
- * Test assertion enabled indicator.
- */
- protected boolean enabled = true;
-
- /**
- * Context.
- */
- protected String context = null;
-
- /**
- * Assertion description.
- */
- protected String assertionDescription = null;
-
- /**
- * Failure message.
- */
- protected String failureMessage = null;
-
- /**
- * Failure detail description.
- */
- protected String failureDetailDescription = null;
-
- /**
- * Detail description.
- */
- protected String detailDescription = null;
-
- /**
- * Addtional entry type list.
- */
- protected EntryTypeList entryTypeList = null;
-
- /**
- * Prereq ID list.
- */
- protected Vector prereqIdList = new Vector();
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#getId()
- */
- public String getId()
- {
- return this.id;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#setId(String)
- */
- public void setId(String id)
- {
- this.id = id;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#getType()
- */
- public String getType()
- {
- return this.type;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#setType(String)
- */
- public void setType(String type)
- {
- this.type = type;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#getEntryTypeName()
- */
- public String getEntryTypeName()
- {
- return this.entryTypeName;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#setEntryTypeName(String)
- */
- public void setEntryTypeName(String entryTypeName)
- {
- this.entryTypeName = entryTypeName;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#isEnabled()
- */
- public boolean isEnabled()
- {
- return enabled;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#setEnabled(boolean)
- */
- public void setEnabled(boolean enabled)
- {
- this.enabled = enabled;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#getContext()
- */
- public String getContext()
- {
- return context;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#setContext(String)
- */
- public void setContext(String context)
- {
- this.context = context;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#getAssertionDescription()
- */
- public String getAssertionDescription()
- {
- return this.assertionDescription;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#setAssertionDescription(String)
- */
- public void setAssertionDescription(String assertionDescription)
- {
- this.assertionDescription = assertionDescription;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#getFailureMessage()
- */
- public String getFailureMessage()
- {
- return this.failureMessage;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#setFailureMessage(String)
- */
- public void setFailureMessage(String failureMessage)
- {
- this.failureMessage = failureMessage;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#getFailureDetailDescription()
- */
- public String getFailureDetailDescription()
- {
- return this.failureDetailDescription;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#setFailureDetailDescription(String)
- */
- public void setFailureDetailDescription(String failureDetailDescription)
- {
- this.failureDetailDescription = failureDetailDescription;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#getDetailDescription()
- */
- public String getDetailDescription()
- {
- return this.detailDescription;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#setDetailDescription(String)
- */
- public void setDetailDescription(String detailDescription)
- {
- this.detailDescription = detailDescription;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#getAdditionalEntryTypeList()
- */
- public EntryTypeList getAdditionalEntryTypeList()
- {
- return this.entryTypeList;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#setAdditionalEntryTypeList(org.wsi.test.profile.EntryTypeList)
- */
- public void setAdditionalEntryTypeList(EntryTypeList entryTypeList)
- {
- this.entryTypeList = entryTypeList;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#getPrereqIdList()
- */
- public Vector getPrereqIdList()
- {
- return prereqIdList;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.TestAssertion#addPrereqId(String)
- */
- public void addPrereqId(String prereqId)
- {
- this.prereqIdList.add(prereqId);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/BaseValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/BaseValidator.java
deleted file mode 100644
index 7289ed0ee..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/BaseValidator.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.w3c.dom.Document;
-
-/**
- * The base interface for the profile validator.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface BaseValidator
-{
- /**
- * Set all test assertions for an artifact to missingInput.
- * @throws WSIException if there is any problems while processing.
- */
- public void setAllMissingInput() throws WSIException;
-
- /**
- * Cleanup after processing all of the test assertions for an artifact.
- * @throws WSIException if there is any problems during cleanup.
- */
- public void cleanup() throws WSIException;
-
- /**
- * Parse XML document and validate with a schema document.
- * @param urlString XML document location.
- * @param baseURI a base url to assist in locating the XML document.
- * @param schema the related XML schema.
- * @return XML document.
- * @throws WSIException if there are any problems while parsing or
- * validating the XML document.
- */
- public Document parseXMLDocumentURL(
- String urlString,
- String baseURI,
- String schema)
- throws WSIException;
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EntryContext.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EntryContext.java
deleted file mode 100644
index 08bb99adf..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EntryContext.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-
-/**
- * This class contains the target information needed by a test assertion.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @author Graham Turrell (gturrell@uk.ibm.com)
- */
-public class EntryContext
-{
- protected Entry entry = null;
-
- protected MessageEntry request = null;
- protected MessageEntry response = null;
- protected MessageEntry messageEntry = null;
-
- protected Document requestDocument = null;
- protected Document responseDocument = null;
- protected Document messageEntryDocument = null;
-
- protected WSDLDocument wsdlDocument = null;
-
- protected AnalyzerContext analyzerContext = null;
-
- /**
- * Create entry context.
- * @param entry a message entry.
- * @param request the request.
- * @param response the response.
- */
- public EntryContext(Entry entry, MessageEntry request, MessageEntry response)
- {
- this(entry, request, response, null);
- }
-
- /**
- * Create entry context.
- * @param entry a message entry.
- * @param request the request.
- * @param response the response.
- * @param analyzerContext the analyzerContext.
- */
- public EntryContext(
- Entry entry,
- MessageEntry request,
- MessageEntry response,
- AnalyzerContext analyzerContext)
- {
- this.entry = entry;
- this.request = request;
- this.response = response;
- this.analyzerContext = analyzerContext;
-
- try
- {
- // Parse all documents
- if(request.isMimeContent())
- {
- MimePart part = request.getMimeParts().getRootPart();
- if ((part != null) && (part.getContent().length() > 0))
- requestDocument = XMLUtils.parseXML(part.getContent());
- }
- else
- {
- if (request.getMessage().length() > 0)
- requestDocument = XMLUtils.parseXML(request.getMessage());
- }
-
- if(response.isMimeContent())
- {
- MimePart part = response.getMimeParts().getRootPart();
- if ((part != null) && (part.getContent().length() > 0))
- responseDocument = XMLUtils.parseXML(part.getContent());
- }
- else
- {
- if (response.getMessage().length() > 0)
- responseDocument = XMLUtils.parseXML(response.getMessage());
- }
- }
-
- catch (WSIException we)
- {
- }
-
- // need some exception handling in here and more careful checking
- if (entry.getEntryType().equals(EntryType.ENTRY_TYPE_REQUEST))
- {
- this.messageEntry = request;
- this.messageEntryDocument = requestDocument;
- }
- else
- {
- this.messageEntry = response;
- this.messageEntryDocument = responseDocument;
- }
- }
-
- /**
- * Create entry context.
- * @param entry a message entry.
- * @param wsdlDocument a WSDL document.
- */
- public EntryContext(Entry entry, WSDLDocument wsdlDocument)
- {
- this.entry = entry;
- this.wsdlDocument = wsdlDocument;
- }
-
- /**
- * Create entry context.
- * @param entry a message entry.
- * @param analyzerContext the analyzerContext.
- */
- public EntryContext(Entry entry, AnalyzerContext analyzerContext)
- {
- this.entry = entry;
- this.analyzerContext = analyzerContext;
- }
-
- /**
- * Returns the entry.
- * @return the entry.
- */
- public Entry getEntry()
- {
- return this.entry;
- }
-
- /**
- * Returns the request.
- * @return the request.
- */
- public MessageEntry getRequest()
- {
- return request;
- }
-
- /**
- * Returns the response.
- * @return the response.
- */
- public MessageEntry getResponse()
- {
- return response;
- }
-
- /**
- * Returns the log entry which is not null.
- * @return the log entry.
- */
- public MessageEntry getMessageEntry()
- {
- return messageEntry;
- }
-
- /**
- * Returns the request.
- * @return MessageEntry
- */
- public Document getRequestDocument()
- {
- return requestDocument;
- }
-
- /**
- * Returns the response.
- * @return the response.
- */
- public Document getResponseDocument()
- {
- return responseDocument;
- }
-
- /**
- * Returns the log entry which is not null.
- * @return the log entry.
- */
- public Document getMessageEntryDocument()
- {
- return messageEntryDocument;
- }
-
- /**
- * Returns the WSDL document.
- * @return the WSDL document.
- */
- public WSDLDocument getWSDLDocument()
- {
- return wsdlDocument;
- }
-
- /**
- * Returns analyzerContext.
- * @return analyzerContext
- */
- public AnalyzerContext getAnalyzerContext()
- {
- return this.analyzerContext;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EnvelopeValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EnvelopeValidator.java
deleted file mode 100644
index 4b1f3c984..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EnvelopeValidator.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-
-/**
- * Interface definition for envelope validation test procedure.
- *
- * @version 1.0
- */
-public interface EnvelopeValidator extends BaseValidator
-{
-
- /**
- * Initiailize validation test procedure.
- * @param analyzerContext the analyzerContext.
- * @param artifact an profile artifact.
- * @param reportArtifact the report artifact.
- * @param wsdlDocument the Web service definition
- * @param reporter the reporter which is used to add errors to the conformance report
- * @throws WSIException if message validator could not be initialized.
- */
- public void init(
- AnalyzerContext analyzerContext,
- ProfileArtifact artifact,
- ReportArtifact reportArtifact,
- WSDLDocument wsdlDocument,
- Reporter reporter)
- throws WSIException;
-
- /**
- * Validate the envelope located by the log entry.
- * @param entryContext a log entry locating an envelope.
- * @throws WSIException if an unexpected error occurred while
- * processing the log entry.
- */
- public void validate(EntryContext entryContext) throws WSIException;
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/MessageValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/MessageValidator.java
deleted file mode 100644
index 13618a343..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/MessageValidator.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-
-/**
- * Interface definition for message validation test procedure.
- *
- * @version 1.0.1
- * @author Peter Brittenham
- * @author Graham Turrell (gturrell@uk.ibm.com)
- */
-public interface MessageValidator extends BaseValidator
-{
- /**
- * HTTP 1.0 version indicator.
- */
- public static final String HTTP_VERSION_1_0 = "HTTP/1.0";
-
- /**
- * HTTP 1.1 version indicator.
- */
- public static final String HTTP_VERSION_1_1 = "HTTP/1.1";
-
- /**
- * HTTP POST message indicator.
- */
- public static final String HTTP_POST = "POST";
-
- /**
- * Initiailize validation test procedure.
- * @param analyzerContext the analyzerContext.
- * @param artifact an profile artifact.
- * @param reportArtifact the report artifact.
- * @param wsdlDocument the Web service definition
- * @param reporter the reporter which is used to add errors to the conformance report
- * @throws WSIException if message validator could not be initialized.
- */
- public void init(
- AnalyzerContext analyzerContext,
- ProfileArtifact artifact,
- ReportArtifact reportArtifact,
- WSDLDocument wsdlDocument,
- Reporter reporter)
- throws WSIException;
-
- /**
- * Validate the message located by the log entry.
- * @param entryContext a log entry locating a message.
- * @throws WSIException if an unexpected error occurred while
- * processing the log entry.
- */
- public void validate(EntryContext entryContext) throws WSIException;
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/ProfileValidatorFactory.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/ProfileValidatorFactory.java
deleted file mode 100644
index 3a19394b7..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/ProfileValidatorFactory.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.util.WSIProperties;
-
-/**
-* This class is used to access an implementation of a ProfileValidatorFactory abstract class.
- *
- * @version 1.0.1
- * @author Peter Brittenham
- */
-public abstract class ProfileValidatorFactory
-{
- /**
- * Create a new instance of a UDDI validator.
- * @return an object that implements the WSDLValidator interface.
- * @throws WSIException if UDDI validator cannot be instantiated.
- */
- public abstract UDDIValidator newUDDIValidator() throws WSIException;
-
- /**
- * Create a new instance of a WSDL validator.
- * @return an object that implements the WSDLValidator interface.
- * @throws WSIException if WSDL validator cannot be instantiated.
- */
- public abstract WSDLValidator newWSDLValidator() throws WSIException;
-
- /**
- * Create a new instance of a message validator.
- * NOTE: Do we need to differentiate between the tranport and SOAP
- * message validator?
- *
- * @return an object that implements the MessageValidator interface.
- * @throws WSIException if message validatorcannot be instantiated.
- */
- public abstract MessageValidator newMessageValidator() throws WSIException;
-
- /**
- * Create a new instance of an envelope validator.
- * @return an object that implements the EnvelopeValidator interface.
- * @throws WSIException if message validator cannot be instantiated.
- */
- public abstract EnvelopeValidator newEnvelopeValidator() throws WSIException;
-
- /**
- * Instantiate the implementation of the ProfileValidatorFactory class.
- * The implementation class for this interface is specified in the following
- * Java system property:
- * <UL>
- * <LI>wsi.profile.validator.factory
- * </UL>
- *
- * @return the ProfileValidatorFactory object.
- * @throws WSIException if factory class cannot be instantiated.
- */
- public static ProfileValidatorFactory newInstance() throws WSIException
- {
- ProfileValidatorFactory factory = null;
- String factoryClassName = null;
-
- try
- {
- // Get factory class name
- factoryClassName =
- WSIProperties.getProperty(
- WSIProperties.PROP_VALIDATOR_FACTORY,
- WSIProperties.DEF_VALIDATOR_FACTORY);
-
- // Create the factory class
- Class factoryClass = Class.forName(factoryClassName);
-
- // Instantiate the factory
- factory = (ProfileValidatorFactory) factoryClass.newInstance();
- }
-
- catch (Exception e)
- {
- throw new WSIException(
- "Could not instantiate factory class: " + factoryClassName + ".",
- e);
- }
-
- // Return factory
- return factory;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/UDDIValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/UDDIValidator.java
deleted file mode 100644
index af1836390..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/UDDIValidator.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.UDDIReference;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-
-/**
- * The WSDL validator will verify that the WSDL and associated XML schema definitions
- * are in conformance with the profile.
- *
- * @version 1.0.1
- * @author Peter Brittenham
- */
-public interface UDDIValidator extends BaseValidator
-{
- /**
- * Initiailize validation test procedure.
- * @param analyzerContext the analyzerContext.
- * @param artifact an profile artifact.
- * @param reportArtifact the report artifact.
- * @param uddiReference a UDDI reference.
- * @param reporter a Reporter object.
- * @throws WSIException if UDDI validator could not be initialized.
- */
- public void init(
- AnalyzerContext analyzerContext,
- ProfileArtifact artifact,
- ReportArtifact reportArtifact,
- UDDIReference uddiReference,
- Reporter reporter)
- throws WSIException;
-
- /**
- * Validate the UDDI based service description.
- * @return If the UDDI entries are valid, then the value returned
- * is the URL for the WSDL document.
- * @throws WSIException WSIException if an unexpected error occurred
- * while processing the UDDIentries.
- */
- public String validate() throws WSIException;
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/WSDLValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/WSDLValidator.java
deleted file mode 100644
index e42bd2c13..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/WSDLValidator.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-
-/**
- * The WSDL validator will verify that the WSDL and associated XML schema definitions
- * are in conformance with the profile.
- *
- * @version 1.0.1
- * @author Peter Brittenham
- */
-public interface WSDLValidator extends BaseValidator
-{
- /**
- * Initiailize validation test procedure.
- * @param analyzerContext the analyzerContext.
- * @param artifact the profile artifact.
- * @param reportArtifact the report artifact.
- * @param wsdlURL the WSDL document location.
- * @param wsdlDocument the WSDL document.
- * @param reporter a Reporter object.
- * @throws WSIException if WSDL validator could not be initialized.
- */
- public void init(
- AnalyzerContext analyzerContext,
- ProfileArtifact artifact,
- ReportArtifact reportArtifact,
- String wsdlURL,
- WSDLDocument wsdlDocument,
- Reporter reporter)
- throws WSIException;
-
- /**
- * Validate the WSDL based service description.
- * @return the WSDL document.
- * @throws WSIException if an unexpected error occurred
- * while validating he WSDL based service description.
- */
- public WSDLDocument validate() throws WSIException;
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcess.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcess.java
deleted file mode 100644
index 23a3d2c3a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcess.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * 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;
-
-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.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.report.FailureDetail;
-
-
-/**
- * Process assertion.
- */
-public abstract class AssertionProcess
-{
- protected String result;
- protected String failureDetailMessage;
- protected FailureDetail failureDetail;
- private final BaseValidatorImpl base_validator;
-
- /**
- * @param BaseValidatorImpl
- */
- public AssertionProcess(BaseValidatorImpl impl)
- {
- this.base_validator = impl;
- }
-
- /**
- * Create assertion result.
- */
- void reset()
- {
- result = AssertionResult.RESULT_PASSED;
- failureDetailMessage = null;
- failureDetail = null;
- }
-
- /**
- * Validate assertion.
- */
- public abstract AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext targetContext)
- throws WSIException;
-
- /**
- * Verbose output.
- */
- public void debug(String message)
- {
- if ((base_validator != null) && base_validator.verboseOption)
- {
- System.err.println(message);
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcessVisitor.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcessVisitor.java
deleted file mode 100644
index 4ccceed0b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcessVisitor.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLVisitor;
-import org.w3c.dom.Element;
-
-
-/**
- * Process assertion using WSDLVisitor interface.
- */
-public abstract class AssertionProcessVisitor
- extends AssertionProcess
- implements WSDLVisitor
-{
- /**
- * @param BaseValidatorImpl
- */
- public AssertionProcessVisitor(BaseValidatorImpl impl)
- {
- super(impl);
- }
-
- public void visit(Part obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Service obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Types obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Operation obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Input obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Output obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Fault obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Binding obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(
- BindingOperation obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
- public void visit(
- BindingInput obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
- public void visit(
- BindingOutput obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
- public void visit(
- BindingFault obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
- public void visit(Import obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Element obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Message obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Port obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(PortType obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Definition obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(
- ExtensibilityElement obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
- public void visit(SOAPBinding obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(SOAPBody obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(SOAPHeader obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(
- SOAPHeaderFault obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
- public void visit(SOAPFault obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(
- SOAPOperation obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseMessageValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseMessageValidator.java
deleted file mode 100644
index 7672745aa..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseMessageValidator.java
+++ /dev/null
@@ -1,1837 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2003 IBM Corporation, Parasoft 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
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Definition;
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPOperation;
-import javax.xml.namespace.QName;
-
-import org.apache.xerces.util.URI;
-import org.apache.xerces.xs.XSConstants;
-import org.apache.xerces.xs.XSModel;
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.analyzer.CandidateInfo;
-import org.eclipse.wst.wsi.internal.core.analyzer.ServiceReference;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
-import org.eclipse.wst.wsi.internal.core.log.Log;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-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.wsdl.WSDLValidatorImpl;
-import org.eclipse.wst.wsi.internal.core.report.FailureDetail;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-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.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-import com.ibm.wsdl.Constants;
-import com.ibm.wsdl.util.xml.DOM2Writer;
-import com.ibm.wsdl.util.xml.DOMUtils;
-
-/**
- * The WSDL validator will verify that the WSDL and associated XML schema definitions
- * are in conformance with the profile.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @author Jim Clune
- * @author Graham Turrell (gturrell@uk.ibm.com)
- * @author Neil Delima (nddelima@ca.ibm.com)
- */
-public abstract class BaseMessageValidator
- extends BaseValidatorImpl
-{
- /**
- * WSDL document.
- */
- private WSDLDocument wsdlDocument;
-
- /**
- * Log entry.
- */
- protected MessageEntry logEntry;
- protected Log log;
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.MessageValidator#init(org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext, org.wsi.test.profile.ProfileArtifact, org.wsi.test.report.ReportArtifact, org.wsi.wsdl.WSDLDocument, org.wsi.test.report.Reporter)
- */
- public void init(
- AnalyzerContext analyzerContext,
- ProfileArtifact profileArtifact,
- ReportArtifact reportArtifact,
- WSDLDocument wsdlDocument,
- Reporter reporter)
- throws WSIException
- {
- // BaseValidatorImpl
- super.init(analyzerContext, profileArtifact, reportArtifact, reporter);
-
- // Save input references
- this.wsdlDocument = wsdlDocument;
- }
-
- /**
- * Returns wsdlDocument
- * @return wsdlDocument
- */
- public WSDLDocument getWSDLDocument()
- {
- return wsdlDocument;
- }
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.MessageValidator#validate(org.wsi.test.profile.validator.EntryContext)
- */
- public void validate(EntryContext entryContext) throws WSIException
- {
- //Entry entry = null;
-
- // Save log entry to be referenced by other methods
- this.logEntry = entryContext.getMessageEntry();
-
- // Get reference to the analyzer config object
- AnalyzerConfig analyzerConfig =
- reporter.getReport().getReportContext().getAnalyzer().getAnalyzerConfig();
-
- /* If Service Description (WSDL/UDDI) NOT supplied in analyzer config OR
- * Service Description IS supplied and the current message correlates to it...
- */
- if ((wsdlDocument == null)
- || messageCorrelatesToService(
- entryContext,
- analyzerConfig.getCorrelationType()))
- {
- // now inner classes moved out from the validator
- //String classPrefix = this.getClass().getName() + "$";
- String classPrefix = this.getClass().getPackage().getName()+".";
-
- // Process assertions for this artifact against the target context
- processAssertions(classPrefix, entryContext);
- }
- }
-
- /**
- * Check whether the message correlates to the service under test.
- * Use the request part of the request-response pair, from which the correlation of the response is implied.
- * Entities from the Service under test are determined once for all.
- * @param entryContext an entry context.
- * @param correlationType a correlation type.
- * @return true if the message correlates to the service under test.
- * @throws WSIException if correlation type is not appropriate.
- */
- private boolean messageCorrelatesToService(
- EntryContext entryContext,
- String correlationType)
- throws WSIException
- {
-
- URI[] endpoints = null;
- boolean correlation = false;
-
- /* TEMP: Get it from analyzer config passed in on init method
- CandidateInfo candidate = entryContext
- .getAnalyzerContext()
- .getCandidateInfo();
- */
- CandidateInfo candidate = analyzerContext.getCandidateInfo();
-
- // Service reference
- ServiceReference serviceReference = analyzerContext.getServiceReference();
-
- // Get the definition element
- Definition definition = candidate.getWsdlDocument().getDefinitions();
-
- Binding binding = null;
- if (serviceReference.getWSDLElement().isPort())
- {
- // Get service
- Service service =
- definition.getService(
- serviceReference.getWSDLElement().getParentElementQName());
-
- // Get port
- Port port = service.getPort(serviceReference.getWSDLElement().getName());
-
- // Get binding
- binding = port.getBinding();
- }
- else if (serviceReference.getWSDLElement().isBinding())
- {
- // Get binding
- binding =
- definition.getBinding(serviceReference.getWSDLElement().getQName());
- }
-
- if (binding == null)
- {
- return false;
- }
-
- if ((endpoints = hostAndPortCorrelation(entryContext)) != null
- && urlPathCorrelation(entryContext, endpoints))
- {
-
- /* If correlation type is "endpoint", this is all the correlation that can be done.
- * (Note - this is incomplete correlation since >1 service could be associated with the endpoint.
- * Therefore , if messages for different services on the same endpoint appear in the log file
- * and correlation type is "endpoint", all those messages will be analyzed).
- */
- if (correlationType
- .equals(WSIConstants.ATTRVAL_CORRELATION_TYPE_ENDPOINT))
- {
- correlation = true;
- }
- else
- {
- // always allow GET requests right through if they've passed Endpoint Correlation
- String requestType = getHttpRequestType(entryContext);
- if ((requestType != null) && requestType.equalsIgnoreCase("GET"))
- {
- correlation = true;
- }
- else
- {
- // The correlationType is not "endpoint" so continue on to processing for at least
- // "namespace" correlation...
-
- // get the operation signature (input & output) from request & response messages...
- // and do a quick DOM parse
- Document requestMessage = entryContext.getRequestDocument();
-
- // Check if namespace is found in request message only
- if (namespaceCorrelation(binding, requestMessage))
- {
- // If namespace found and the correlation type is namespace, then process messages
- if (correlationType
- .equals(WSIConstants.ATTRVAL_CORRELATION_TYPE_NAMESPACE))
- {
- correlation = true;
- }
-
- // If operation is found and correlation type is operation, then process messages
- else if (
- (operationCorrelation(binding, requestMessage))
- && (correlationType
- .equals(WSIConstants.ATTRVAL_CORRELATION_TYPE_OPERATION)))
- {
- correlation = true;
- }
- else
- {
- // this should never happen if config schema was followed correctly
- throw new WSIException(
- "Bad correlation type found in config: " + correlationType);
- }
- }
- }
- }
- }
-
- return correlation;
- }
-
- /**
- * Correlation Check 1: Service Description endpoint vs HTTP Header (test 1)
- * Check if receiverHostAndPort from request message log matches host & port from WSDL SOAP binding for
- * the Service under test.
- * If it does not, stop processing this message pair.
- * @param entryContext an entry context.
- * @return if receiverHostAndPort from request message log matches
- * host & port from WSDL SOAP binding for the Service.
- * @throws WSIException if problem occurs during correlation check.
- */
- private URI[] hostAndPortCorrelation(EntryContext entryContext)
- throws WSIException
- {
-
- // get <receiverHostAndPort> from request message
- String httpHostAndPort = entryContext.getRequest().getReceiverHostAndPort();
- // Search endpoint list for a match with <receiverHostAndPort>
-
- /* TEMP: Get it from analyzer config passed in on init method
- return entryContext.getAnalyzerContext()
- .getCandidateInfo()
- .getEndPoints(httpHostAndPort);
- */
- return analyzerContext.getCandidateInfo().getEndPoints(httpHostAndPort);
- }
-
- /**
- * Correlation Check 2: Service Description endpoint vs HTTP Header (test 2)
- *
- * Use analyzer config host & port, plus URL path (from request message header HTTP POST)
- * to look for the corresponding endpoint in the Service Definition.
- * If it does not, stop processing this message pair.
- * @param entryContext an entry context.
- * @param endpoints an array of endpoints.
- * @return true if corresponding endpoints are found in the Service Definition.
- * @throws WSIException if problem occurs during correlation check.
- */
- private boolean urlPathCorrelation(
- EntryContext entryContext,
- URI[] endpoints)
- throws WSIException
- {
-
- // compares: protocol (must be http for POST), host, port and path.
-
- // get POST URI path from message using Tokenizer
- Vector requestLine =
- getHttpRequest(entryContext.getRequest().getHTTPHeaders());
- if (requestLine == null)
- {
- return false; // an unexpected HTTP request type !
- }
-
- String requestPath = (String) requestLine.get(1);
- // Path immediately follows POST
-
- // compare path with those in the previous generated URI list
- Vector filteredEndpoints = new Vector();
- for (int i = 0; i < endpoints.length; i++)
- {
- if (endpoints[i].toString().endsWith(requestPath))
- {
- filteredEndpoints.add(endpoints[i]);
- }
- }
-
- if (filteredEndpoints.size() == 0)
- return false;
-
- // this URI should be unique in the WSDL - there should be at most one match
- // but if we have at least one, that's sufficient to accept the message
-
- return true;
- }
-
- /**
- * Correlation Check 3: Service Description namespace.
- *
- * Determine if the Service Description declares the namespace that appears in the (request?) message soap body.
- * Location of relevent namespace :
- * Operation type - Message Namespace: (compare with) Service Definition Namespace:
- * (from message? endpoint? where?)
- * rpc-literal &lt;soap:Body&gt; child namespace. &lt;soapbind:body&gt; namespace.
- * doc-literal &lt;soap:Body&gt; child namespace. targetNameSpace of schema that
- * defines &lt;soap:body&gt; child.
- * If it doesn't match, stop processing this message pair.
- * @param binding a binding.
- * @param request a request.
- * @return true if description declared in the description are the
- * same as those that appear in the message soap body.
- * @throws WSIException if problem occurs during correlationcheck.
- */
- private boolean namespaceCorrelation(Binding binding, Document request)
- throws WSIException
- {
- boolean namespaceFound = false;
- String bindingStyle = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
-
- // Get operation namespace from the request soap message
- String soapOpNS = getSoapBodyChild(request).getNamespaceURI();
-
- // Get soapbind:binding
- SOAPBinding soapBinding = null;
- if ((soapBinding = WSDLUtils.getSoapBinding(binding)) != null)
- {
- bindingStyle = soapBinding.getStyle();
- }
-
- // Go through each operation in the binding and check for namespace match
- Iterator operations = binding.getBindingOperations().iterator();
- while (operations.hasNext() && !(namespaceFound))
- {
- BindingOperation bindingOperation = (BindingOperation) operations.next();
-
- // If rpc-literal, then look at namespace attribute on soapbind:body
- if (WSDLUtils.isRpcLiteral(bindingStyle, bindingOperation))
- {
- // Get soapbind:body element
- SOAPBody soapBody = WSDLUtils.getInputSoapBody(bindingOperation);
-
- if ((soapBody.getNamespaceURI() != null)
- && (soapBody.getNamespaceURI().equals(soapOpNS)))
- {
- namespaceFound = true;
- }
- }
-
- // If doc-literal, then check namespace
- else if (WSDLUtils.isDocLiteral(bindingStyle, bindingOperation))
- {
- int partCount;
- Iterator partsIterator = null;
-
- // Get first part name from soapbind:body element parts attribute
- String partName = getFirstPartName(bindingOperation);
-
- // Get the list of parts from the message
- Map partsMap = null;
- if ((partsMap =
- bindingOperation.getOperation().getInput().getMessage().getParts())
- != null)
- {
- partsIterator = partsMap.values().iterator();
-
- // If the part name wasn't specified on the soapbind:body element, then process just the first one
- if (partName == null)
- partCount = 1;
- else
- partCount = partsMap.size();
-
- for (int i = 0; i < partCount && !namespaceFound; i++)
- {
- // Get next part
- Part part = (Part) partsIterator.next();
-
- // If part name matches or there is no part name, then check namespace
- if ((partName == null)
- || ((partName != null) && (part.getName().equals(partName))))
- {
- if ((part.getElementName().getNamespaceURI() != null)
- && (part.getElementName().getNamespaceURI().equals(soapOpNS)))
- {
- namespaceFound = true;
- }
- }
- }
- }
- }
- }
-
- return namespaceFound;
- }
-
- /**
- * Correlation Check 4 : Service Description "operation"
- *
- * Check if the message content matches any of the candidate operation definitions
- * for request and response in the Service Description.
- *
- * For both request and response, look for the soap body child element name
- * in the list of candidate operation names.
- * @param binding a binding.
- * @param requestMessage a request message.
- * @return true if the message content matches any of the candidate
- * operation definitions for request and response in the
- * Service Description.
- * @throws WSIException if problem occurs during correlationcheck.
- */
- private boolean operationCorrelation(
- Binding binding,
- Document requestMessage)
- throws WSIException
- {
- boolean operationFound = false;
-
- String bindingStyle = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
-
- // Get soapbind:binding
- SOAPBinding soapBinding = null;
- if ((soapBinding = WSDLUtils.getSoapBinding(binding)) != null)
- {
- bindingStyle = soapBinding.getStyle();
- }
-
- // Get the first child element from the soap body
- Element soapBodyChild = getSoapBodyChild(requestMessage);
-
- // If there is a child element, then check it
- if (soapBodyChild != null)
- {
- // Get operation name from the soap:body
- String operationName = soapBodyChild.getLocalName();
-
- // Get operation QName
- QName operationQName =
- new QName(soapBodyChild.getNamespaceURI(), operationName);
-
- // Go through each operation in the binding and check for namespace match
- Iterator operations = binding.getBindingOperations().iterator();
- while (operations.hasNext() && !(operationFound))
- {
- BindingOperation bindingOperation =
- (BindingOperation) operations.next();
-
- // If rpc-literal, then look at namespace attribute on soapbind:body
- if (WSDLUtils.isRpcLiteral(bindingStyle, bindingOperation))
- {
- // Get soapbind:body element
- if (bindingOperation.getName().equals(operationName))
- operationFound = true;
- }
-
- // If doc-literal, then check namespace
- else if (WSDLUtils.isDocLiteral(bindingStyle, bindingOperation))
- {
- int partCount;
- Iterator partsIterator = null;
-
- // Get first part name from soapbind:body element parts attribute
- String partName = getFirstPartName(bindingOperation);
-
- // Get the list of parts from the message
- Map partsMap = null;
- if ((partsMap =
- bindingOperation.getOperation().getInput().getMessage().getParts())
- != null)
- {
- partsIterator = partsMap.values().iterator();
-
- // If the part name wasn't specified on the soapbind:body element, then process just the first one
- if (partName == null)
- partCount = 1;
- else
- partCount = partsMap.size();
-
- for (int i = 0; i < partCount && !operationFound; i++)
- {
- // Get next part
- Part part = (Part) partsIterator.next();
-
- // If part name matches or there is no part name, then check namespace
- if ((partName == null)
- || ((partName != null) && (part.getName().equals(partName))))
- {
- if ((part.getElementName() != null)
- && (part.getElementName().equals(operationQName)))
- {
- operationFound = true;
- }
- }
- }
- }
- }
- }
- }
-
- // Go through each operation to find a match
- return operationFound;
- }
-
- /**
- * Create failure detail.
- * @param message a message.
- * @param entryContext an entry context.
- * @return failure detail.
- */
- public FailureDetail createFailureDetail(
- String message,
- EntryContext entryContext)
- {
- FailureDetail failureDetail = reporter.createFailureDetail();
- failureDetail.setFailureMessage(message);
- failureDetail.setElementLocation(
- entryContext.getMessageEntry().getElementLocation());
- return failureDetail;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isNotApplicable(org.wsi.test.profile.TestAssertion)
- */
- protected boolean isNotApplicable(TestAssertion testAssertion)
- {
- boolean notApplicable = false;
-
- // If the additional entry is not available, then set notApplicable
- if (testAssertion.getAdditionalEntryTypeList().getWSDLInput() != null
- && !testAssertion.getAdditionalEntryTypeList().getWSDLInput().equals("none")
- && analyzerContext.getServiceReference().getWSDLLocation() == null)
- {
- notApplicable = true;
- }
-
- return notApplicable;
- }
-
-
- /**
- * Get POST request.
- * @param httpHeader an HTTP
- * @return POST request.
- */
- public Vector getPostRequest(String httpHeader)
- {
- //Request-Line = Method SP Request-URI SP HTTP-Version CRLF
- Vector requestLine = new Vector();
- String startLine = null;
-
- StringTokenizer httpMessageTokenizer =
- new StringTokenizer(httpHeader, "\n\r\f");
-
- if (httpMessageTokenizer.hasMoreTokens())
- {
- startLine = httpMessageTokenizer.nextToken();
- }
-
- if (startLine.startsWith("POST"))
- {
- StringTokenizer startLineTokenizer =
- new StringTokenizer(startLine, "\u0020");
- while (startLineTokenizer.hasMoreTokens())
- {
- requestLine.add(startLineTokenizer.nextToken());
- }
- }
- return requestLine;
- }
-
- /**
- * Get HTTP request.
- * @param httpHeader an HTTP
- * @return HTTP request.
- */
- private Vector getHttpRequest(String httpHeader)
- {
- //Request-Line = Method SP Request-URI SP HTTP-Version CRLF
- Vector requestLine = new Vector();
- String startLine = null;
-
- StringTokenizer httpMessageTokenizer =
- new StringTokenizer(httpHeader, "\n\r\f");
-
- if (httpMessageTokenizer.hasMoreTokens())
- {
- startLine = httpMessageTokenizer.nextToken();
- }
-
- if (startLine.startsWith("POST") || startLine.startsWith("GET"))
- {
- StringTokenizer startLineTokenizer =
- new StringTokenizer(startLine, "\u0020");
- while (startLineTokenizer.hasMoreTokens())
- {
- requestLine.add(startLineTokenizer.nextToken());
- }
- }
- else
- {
- requestLine = null; // signify not POST or GET
- }
-
- return requestLine;
- }
-
- /**
- * Get HTTP request type.
- * @param entryContext an entry context.
- * @return HTTP request type.
- */
- private String getHttpRequestType(EntryContext entryContext)
- {
- //Request-Line = Method SP Request-URI SP HTTP-Version CRLF
-
- String httpHeader = entryContext.getRequest().getHTTPHeaders();
- String httpRequestType = null;
- String startLine = null;
-
- StringTokenizer httpMessageTokenizer =
- new StringTokenizer(httpHeader, "\n\r\f");
-
- if (httpMessageTokenizer.hasMoreTokens())
- {
- startLine = httpMessageTokenizer.nextToken();
- StringTokenizer startLineTokenizer =
- new StringTokenizer(startLine, "\u0020");
- if (startLineTokenizer.hasMoreTokens())
- {
- httpRequestType = startLineTokenizer.nextToken();
- }
- }
- return httpRequestType;
- }
-
- /**
- * Determine if the message is a response for a one-way operation.
- * @param entryContext an entry context.
- * @return true if the message is a response for a one-way operation.
- */
- public boolean isOneWayResponse(EntryContext entryContext)
- {
- boolean oneway = false;
-
- // TEMP: If this is a response message and there is no content, then set one-way to true
- // TEMP: Need to find a way to determine if the response is for a one-way message
- if (entryContext
- .getMessageEntry()
- .getType()
- .equalsIgnoreCase(MessageEntry.TYPE_RESPONSE)
- && entryContext.getMessageEntry().getMessage().length() == 0)
- {
- oneway = true;
- }
-
- return oneway;
- }
-
- /**
- * messageIsDocLitSchemaValid.
- *
- * Validates the doc-lit messages against the schema found in a candidate wsdl document.
- *
- * Identify (or be given) a reference in the wsdl to elements (found in &lt;wsdl:types&gt;&lt;schema&gt;...)
- * that are immediate children elements in the soap body.
- * @param entryContext an entry context.
- * @return true if the document literal message is compliant to the
- * schema found in a candidate WSDL document.
- * @throws WSIException if there is a parsing problem during validation.
- */
- public boolean messageIsDocLitSchemaValid(EntryContext entryContext)
- throws WSIException
- {
-
- // This method should use a validating parser that is capable of acceppting multiple schema references
- // programmatically. Then, every schema in candidate wsdl can be passed in to the validator. This avoids the
- // need to pinpoint a particular schema element from all candidate wsdl:types, corresponding to the
- // wsdl:operation being used. The pinpointing is an incomplete workaround for parsers not capable
- // of accepting arrays of scehma references
- // [ i.e. the DOM factory.setAttribute(JAXP_SCHEMA SOURCE, Object[] {...}) ]
- // get all xs:schema from all candidate wsdl:types
- // add each <schema> to an array and pass this array to the validating parser
- // when validating the/each soap body child.
-
- // use the referenced WSDL file and its imported files to find schemas
- List schemaWSDLs = new ArrayList();
- List inlineSchemas = new ArrayList();
- List schemaStrings = new ArrayList();
-
- Definition[] allDefs =
- analyzerContext.getCandidateInfo().getDefinitions();
- for (int thisDef = 0; thisDef < allDefs.length; thisDef++)
- {
- schemaWSDLs.add(allDefs[thisDef].getDocumentBaseURI());
- }
- Iterator fileIterator = schemaWSDLs.iterator();
- while (fileIterator.hasNext())
- {
- // parse file if possible
- Document wsdlDoc = null;
- String wsdlURI = (String) fileIterator.next();
- try
- {
- wsdlDoc = XMLUtils.parseXMLDocumentURL(wsdlURI, null);
- }
- catch (Exception e)
- {
- continue;
- }
- Element root = wsdlDoc.getDocumentElement();
- // find the schema
- NodeList schemaElements = root.getElementsByTagNameNS(
- WSITag.ELEM_XSD_SCHEMA.getNamespaceURI(),
- WSITag.ELEM_XSD_SCHEMA.getLocalPart());
-
- for (int elem = 0; elem < schemaElements.getLength(); elem++)
- {
- Element schema = (Element) schemaElements.item(elem);
- // copying all the NS declarations from wsdl:definitions wsdl:types
- copyNSDeclarations(root, schema);
- copyNSDeclarations((Element) schema.getParentNode(), schema);
- // Replacing all relative schemaLocation URIs with absolute ones
- replaceRelativeURIs(schema, wsdlURI);
- inlineSchemas.add(schema);
- }
- }
-
- // Note that the Xerces parser ONLY accepts an array
- // of schemas with unique namespaces.
- if (!duplicateNamespacesDetected(inlineSchemas))
- {
- // Serialize the schema elements inside the Types, then use this as
- // the schema string for the validation
- Iterator i = inlineSchemas.iterator();
- while (i.hasNext())
- {
- Element schema = (Element)i.next();
- String schemaString = DOM2Writer.nodeToString(schema);
- schemaStrings.add(schemaString);
- }
-
- NodeList elementList = entryContext.getMessageEntryDocument()
- .getElementsByTagNameNS(WSITag.ELEM_SOAP_BODY.getNamespaceURI(),
- WSITag.ELEM_SOAP_BODY.getLocalPart());
- if (elementList == null || elementList.getLength() != 1)
- {
- // should only be a single soap body !
- return false; // probably an error condition though
- }
-
- NodeList soapBodyChildList = ((Element)elementList.item(0)).getChildNodes();
- for (int child = 0; child < soapBodyChildList.getLength(); child++)
- {
- Node soapBodyChild = soapBodyChildList.item(child);
- if (soapBodyChild.getNodeType() == Node.ELEMENT_NODE)
- {
- // do all for now
- try
- {
- // Write out element tree to String
- String messageContent = DOM2Writer.nodeToString(soapBodyChild);
- // parse the child element, validating against the schema
- XMLUtils.parseXML(messageContent, schemaStrings);
- }
- catch (WSIException e)
- {
- if (e.getTargetException() instanceof SAXException)
- {
- // validation failed
- throw new WSIException(e.getTargetException().getMessage());
- }
- throw e;
- }
- catch (Exception e)
- {
- throw new WSIException("Validating Parsing problem", e);
- // Bad things have happened
- }
- }
- }
- }
- return true;
- }
-
- /**
- * Copy the namespace declarations.
- * @param parent a message.
- * @param child a stripped message.
- */
- private void copyNSDeclarations(Element parent, Element child)
- {
- NamedNodeMap nodeMap = parent.getAttributes();
- for (int nodeId = 0; nodeId < nodeMap.getLength(); nodeId++)
- {
- Node node = nodeMap.item(nodeId);
-
- if ((node.getNodeType() == Node.ATTRIBUTE_NODE)
- && (node.getNodeName().startsWith("xmlns:")))
- {
- String nodeName = node.getNodeName();
- // If an NS being copied is not the same as the child element has, copy it
- if (!child.getNodeName().startsWith(
- nodeName.substring(nodeName.indexOf(":") + 1) + ":"))
- {
- child.setAttribute(nodeName, node.getNodeValue());
- }
- }
- }
- }
-
- /**
- * Replaces all relative URIs for schemaLocation attributes.
- * @param schema an xsd:schema element.
- * @param wsdlURI an URI of WSDL that contains xsd:schema being processed.
- */
- private void replaceRelativeURIs(Element schema, String wsdlURI)
- {
- // Retrieving all xsd:import elements
- NodeList imports = schema.getElementsByTagNameNS(
- WSITag.ELEM_XSD_IMPORT.getNamespaceURI(),
- WSITag.ELEM_XSD_IMPORT.getLocalPart());
- // Going through the elements
- for (int i = 0; i < imports.getLength(); i++)
- {
- Element imp = (Element) imports.item(i);
- // Getting the schemaLocation attribute
- Attr schemaLocation =
- XMLUtils.getAttribute(imp, WSITag.ATTR_XSD_SCHEMALOCATION);
- // If the attribute is present
- if (schemaLocation != null)
- {
- // Trying to create an URI object using attribute's value
- URI uri = null;
- try
- {
- uri = new URI(schemaLocation.getValue());
- }
- catch (Exception e) {}
- // If the value is not an absolute URI (the URI constructor throws the
- // MalformedURIException), creating the absolute URI using wsdlURI
- if (uri == null)
- {
- String newURI = wsdlURI.substring(0, wsdlURI.lastIndexOf("/") + 1)
- + schemaLocation.getValue();
- try
- {
- uri = new URI(newURI);
- // Setting a new URI as a value for the schemaLocation attribute
- schemaLocation.setValue(uri.toString());
- }
- catch (Exception e) {}
- }
- }
- }
- }
-
- /**
- * Returns binding operation matched for SOAP message.
- * @param entryType message entry type.
- * @param doc a message.
- * @return any binding operation matched, null if it is not found.
- */
- public BindingOperation getOperationMatch(EntryType entryType, Document doc)
- {
- BindingOperation bindingOperation = null;
- try
- {
- // Getting the name of the first SOAP Body child element
- QName operation = getOperationFromMessage(doc);
- if (operation != null)
- {
- // Retrieving all the RPC binding operations from wsdl:binding
- BindingOperation[] rpcBindingOps = getMatchingBindingOps(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
- analyzerContext.getCandidateInfo().getBindings());
- // Retrieving binding operation by the given operation name
- bindingOperation = getOperationMatch(
- entryType, operation, rpcBindingOps);
- // If no one RPC operation matched
- if(bindingOperation == null)
- {
- // Retrieving all the document binding operations from wsdl:binding
- BindingOperation[] docBindingOperations = getMatchingBindingOps(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC,
- analyzerContext.getCandidateInfo().getBindings());
- // Retrieving binding operation by given element name
- BindingOperation[] potentialDocLitOps =
- getDocLitOperations(entryType, operation, docBindingOperations);
- // If there is exactly one operation matched
- if (potentialDocLitOps.length == 1)
- bindingOperation = potentialDocLitOps[0];
- }
- }
- }
- catch (Exception e) {}
-
- return bindingOperation;
- }
-
- /**
- * Match either Input or Output.
- * @param messageEntryType message entry type.
- * @param soapMessage soap message.
- * @param op binding operations.
- * @return matched operation.
- */
- public BindingOperation getOperationMatch(
- EntryType messageEntryType,
- Document soapMessage,
- BindingOperation[] op)
- {
- // Get operation from message
- QName operation = getOperationFromMessage(soapMessage);
- // list of QNames
-
- return getOperationMatch(messageEntryType, operation, op);
- }
-
- /**
- * Match either Input or Output.
- * @param messageEntryType message entry type.
- * @param operation SOAP operation name.
- * @param op binding operations.
- * @return matched operation.
- */
- public BindingOperation getOperationMatch(
- EntryType messageEntryType,
- QName operation,
- BindingOperation[] op)
- {
- QName checkOperation;
-
- // Look for a candidate operation in the wsdl that matches this signature.
- for (int k = 0; k < op.length; k++)
- {
- String name = null;
- List extensibles = null;
- BindingOperation bindingOp = op[k];
-
- if (messageEntryType.isType(EntryType.TYPE_MESSAGE_REQUEST)
- && (bindingOp.getOperation().getInput() != null))
- {
- name = bindingOp.getOperation().getName();
- extensibles = bindingOp.getBindingInput().getExtensibilityElements();
- }
- else if (
- messageEntryType.isType(EntryType.TYPE_MESSAGE_RESPONSE)
- && (bindingOp.getOperation().getOutput() != null))
- {
- name = bindingOp.getOperation().getName() + "Response";
- extensibles = bindingOp.getBindingOutput().getExtensibilityElements();
- }
-
- // Get soap:body
- SOAPBody soapBody = getSoapBody(extensibles);
- if (soapBody == null)
- checkOperation = new QName(name);
- else
- checkOperation = new QName(soapBody.getNamespaceURI(), name);
-
- if (operation != null && operation.equals(checkOperation))
- {
- return (bindingOp);
- }
- }
- return null;
- }
-
- /**
- * Match either Input or Output.
- * @param messageEntryType a message entry type.
- * @param soapMessage a soap message.
- * @param op binsing operations.
- * @return matched operation.
- */
- public BindingOperation getOperationPartsMatch(
- EntryType messageEntryType,
- Document soapMessage,
- BindingOperation[] op)
- {
- Map parts = getPartListFromMessage(soapMessage); // list of QNames
-
- // Look for a candidate operation in the wsdl that matches this signature.
- for (int k = 0; k < op.length; k++)
- {
-
- Message wsdlMessage = null;
- List extensibles = null;
- BindingOperation bindingOp = op[k];
-
- if (messageEntryType.isType(EntryType.TYPE_MESSAGE_REQUEST)
- && (bindingOp.getOperation().getInput() != null))
- {
- wsdlMessage = bindingOp.getOperation().getInput().getMessage();
- extensibles = bindingOp.getBindingInput().getExtensibilityElements();
- }
- else if (
- messageEntryType.isType(EntryType.TYPE_MESSAGE_RESPONSE)
- && (bindingOp.getOperation().getOutput() != null))
- {
- wsdlMessage = bindingOp.getOperation().getOutput().getMessage();
- extensibles = bindingOp.getBindingOutput().getExtensibilityElements();
- }
- //wsdlFaultParts = op[k].getFaults();
- // ADD: check for case when response message is a fault
-
- if (sameParts(parts, wsdlMessage, getSoapHeader(extensibles)))
- {
- return (bindingOp);
- }
- }
- return null;
- }
-
- /**
- * BindingOperation getOperationPartsMatch(..).
- *
- * Find one or more matching binding operations from the WSDL corresponding to the
- * given request-response signature.
- *
- * This overloaded version is intended for possible Correlation only (not assertions),
- * since it checks for an operation signature on a request-response pair.
- * Assertions now check request & response messages independently.
- * @param requestMessage a request message.
- * @param responseMessage a response message.
- * @param op binding operations.
- * @return matched operation.
- */
- //private BindingOperation getOperationPartsMatch(
- // Document requestMessage,
- // Document responseMessage,
- // BindingOperation[] op)
- //{
- // Map inParts = getPartListFromMessage(requestMessage); // list of QNames
- // Map outParts = getPartListFromMessage(responseMessage);
- // // list of QNames
- //
- // // Look for a candidate operation in the wsdl that matches this signature.
- // for (int k = 0; k < op.length; k++)
- // {
- //
- // //Map wsdlFaultParts = null;
- // Message wsdlInMessage = null;
- // Message wsdlOutMessage = null;
- //
- // BindingOperation bindingOp = op[k];
- // if (bindingOp.getOperation().getInput() != null)
- // {
- // wsdlInMessage = bindingOp.getOperation().getInput().getMessage();
- // }
- //
- // if (bindingOp.getOperation().getOutput() != null)
- // {
- // wsdlOutMessage = bindingOp.getOperation().getOutput().getMessage();
- // }
- // //wsdlFaultParts = op[k].getFaults();
- // // ADD: check for case when response message is a fault
- //
- // if (sameParts(inParts,
- // wsdlInMessage,
- // getSoapHeader(bindingOp.getBindingInput().getExtensibilityElements())))
- // {
- // // match on the request - now check response if its not a fault
- // if (responseMessage != null && isFault(responseMessage))
- // {
- // return (bindingOp);
- // }
- // else if (
- // sameParts(
- // outParts,
- // wsdlOutMessage,
- // getSoapHeader(
- // bindingOp.getBindingOutput().getExtensibilityElements())))
- // {
- // // It does match so treat this as a relevant message pair.
- // // Let the message through for validation.
- // //ADD: could pass the operations list back to the entryContext for the message.
- // return (bindingOp);
- // }
- // }
- // }
- // return null;
- //}
-
- /**
- * Get the soap:body from a List of extensibility elements.
- * @param extElems a list of extensibility elements.
- * @return the soap:body from a List of extensibility elements.
- */
- private SOAPBody getSoapBody(List extElems)
- {
- // Find the soap body
- if (extElems != null)
- {
- for (int i = 0; i < extElems.size(); i++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
- if (extElem.getElementType().equals(WSITag.WSDL_SOAP_BODY))
- {
- return (SOAPBody) extElem;
- }
- // If the element is mime:multipartRelated
- else if (extElem.getElementType().equals(WSITag.WSDL_MIME_MULTIPART))
- {
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- // Collecting all the mime:content elements of this mime:part
- SOAPBody soapBody = getSoapBody(
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements());
- if (soapBody != null)
- return soapBody;
- }
- }
- }
- }
-
- return null;
- }
-
- /**
- * Get the SOAPHeader from a List of extensibility elements.
- * @param extensibles a list of extensibility elements.
- * @return the SOAPHeader from a List of extensibility elements.
- */
- private SOAPHeader getSoapHeader(List extensibles)
- {
- SOAPHeader soapHeader = null;
-
- // find the soap header
- if (extensibles != null)
- {
- Iterator i = extensibles.iterator();
- while (i.hasNext() && soapHeader == null)
- {
- try
- {
- soapHeader = (SOAPHeader) i.next();
- }
- catch (ClassCastException c)
- {
- }
- }
- }
- return soapHeader;
- }
-
- /**
- * Get first part name from soapbind:body element.
- */
- private String getFirstPartName(BindingOperation bindingOperation)
- {
- String partName = null;
- List extList = null;
- Iterator partsIterator = null;
-
- // Determine if there is a list of parts by finding the soapbind:body element
- if ((extList =
- bindingOperation.getBindingInput().getExtensibilityElements())
- != null)
- {
- List partsList = null;
- Iterator extIterator = extList.iterator();
- while (extIterator.hasNext() && (partName == null))
- {
- Object extElement = extIterator.next();
- if (extElement instanceof SOAPBody)
- {
- if ((partsList = ((SOAPBody) extElement).getParts()) != null)
- {
- partsIterator = partsList.iterator();
-
- // Since this is a doc literal binding there should be only one part name
- if (partsIterator.hasNext())
- partName = (String) partsIterator.next();
- }
- }
- }
- }
-
- return partName;
- }
-
- public BindingOperation[] getDocLitOperations(
- EntryType messageType,
- QName partElementQName,
- BindingOperation[] wsdlOperations)
- {
-
- if (messageType.isType(EntryType.ENTRY_TYPE_REQUEST))
- {
- return getInputDocLitOperations(partElementQName, wsdlOperations);
- }
- else if (messageType.isType(EntryType.ENTRY_TYPE_RESPONSE))
- {
- return getOutputDocLitOperations(partElementQName, wsdlOperations);
- }
- else
- {
- return null; // should be one or the other
- }
- }
-
- private BindingOperation[] getInputDocLitOperations(
- QName partElementQName,
- BindingOperation[] wsdlOperations)
- {
-
- Vector potentialOps = new Vector();
-
- for (int i = 0; i < wsdlOperations.length; i++)
- {
- if (wsdlOperations[i].getOperation().getInput() != null)
- {
- Message message = wsdlOperations[i].getOperation().getInput().getMessage();
- // If SOAP Body child element is not present and wsdl:message does not have any wsdl:parts, that is the match
- if (partElementQName == null)
- {
- if (message.getParts().isEmpty())
- potentialOps.add(wsdlOperations[i]);
- continue;
- }
-
- Iterator partsIt = message.getParts().values().iterator();
- while (partsIt.hasNext())
- {
- Part nextPart = (Part) partsIt.next();
- if (partElementQName.equals(nextPart.getElementName()))
- {
- // matching part found (doc-lit) - add to list of possible operation matches
- potentialOps.add(wsdlOperations[i]);
- break;
- }
- }
- }
- }
- return (BindingOperation[]) potentialOps.toArray(new BindingOperation[0]);
- }
-
- private BindingOperation[] getOutputDocLitOperations(
- QName partElementQName,
- BindingOperation[] wsdlOperations)
- {
-
- Vector potentialOps = new Vector();
-
- for (int i = 0; i < wsdlOperations.length; i++)
- {
- if (wsdlOperations[i].getOperation().getOutput() != null)
- {
- Message message = wsdlOperations[i].getOperation().getOutput().getMessage();
- // If SOAP Body child element is not present and wsdl:message does not have any wsdl:parts, that is the match
- if (partElementQName == null)
- {
- if (message.getParts().isEmpty())
- potentialOps.add(wsdlOperations[i]);
- continue;
- }
-
- Iterator partsIt = message.getParts().values().iterator();
- while (partsIt.hasNext())
- {
- Part nextPart = (Part) partsIt.next();
- if (partElementQName.equals(nextPart.getElementName()))
- {
- // matching part found (doc-lit) - add to list of possible operation matches
- potentialOps.add(wsdlOperations[i]);
- break;
- }
- }
- }
- }
- return (BindingOperation[]) potentialOps.toArray(new BindingOperation[0]);
- }
-
- /**
- * Compare soap message element part names with Parts from specified wsdl Operation
- */
- //private boolean sameParts(HashSet messageParts, Map wsdlParts)
- //{
- //
- // // look for the soap-message operation signature
- // Iterator i = wsdlParts.values().iterator();
- // // build a set of Part names
- // HashSet h = new HashSet();
- // while (i.hasNext())
- // {
- // Part p = (Part) i.next();
- // h.add(p.getName());
- // }
- //
- // // compare with the parts list from the message (unordered)
- // return (h.equals(messageParts));
- //}
-
- /**
- * Compare soap message element part names with Parts from specified wsdl Operation
- */
- private boolean sameParts(
- Map messageParts,
- Message wsdlMessage,
- SOAPHeader soapHeader)
- {
-
- String soapHeaderPart = null;
- if (soapHeader != null)
- soapHeaderPart = soapHeader.getPart();
-
- // check null conditions
- if (messageParts == null && wsdlMessage == null)
- {
- return true; // simple equality test
- }
- else if (messageParts == null || wsdlMessage == null)
- {
- return false;
- }
-
- Vector v = new Vector();
- //List wsdlParts = wsdlMessage.getOrderedParts(null);
- Map wsdlParts = null;
- if (wsdlMessage.getParts() != null)
- {
- wsdlParts = wsdlMessage.getParts();
- // look for the soap-message operation signature
- Iterator i = wsdlParts.values().iterator();
- // build a set of Part names
- while (i.hasNext())
- {
- Part p = (Part) i.next();
- // do not include the part for the soap:header (if any)
- if (!p.getName().equals(soapHeaderPart))
- {
- // check that the part is associated with the soap:body
- v.add(new QName(p.getName()));
- }
- }
- // if one of the parts is associated with a soap:header in the binding
- // (by <soap:header part="{partname}">), remove this from the set
-
- }
-
- // compare with the parts list from the message (ordered)
- if (v.isEmpty() && messageParts.isEmpty())
- {
- return true;
- }
-
- // PB: Changed to containsAll() since equals() fails when using JRE 1.4
- if (v.containsAll(messageParts.keySet())
- && (v.size() == messageParts.size()))
- {
- // Check for xsi:type mismatch
- Iterator parts = messageParts.keySet().iterator();
- QName partName, xsiType;
- while (parts.hasNext())
- {
- partName = (QName) parts.next();
-
- // Get xsi:type QName
- if ((xsiType = (QName) messageParts.get(partName)) != null
- && wsdlParts != null)
- {
- // Get the WSDL part definition
- Part part = (Part) wsdlParts.get(partName.getLocalPart());
-
- // If xsiType is NOT derived from the type of the corresponding WSDL part
- if (!isDerivedType(xsiType, part.getTypeName()))
- {
- // return false
- return false;
- }
- }
- }
-
- return true;
- }
- else
- return false;
- //return (v.equals(messageParts));
- }
-
- /**
- * Checks whether one schema type is derived from another.
- * @param extType an assumed derived type.
- * @param type an assumed base type.
- * @return true if extType is derived from type, false otherwise
- */
- public boolean isDerivedType(QName extType, QName type)
- {
- // If either of types is null, return false
- if (extType == null || type == null)
- return false;
- // If the types are equal, return true
- if (extType.equals(type))
- return true;
-
- // Going through all schemas
- Iterator i = wsdlDocument.getSchemas().values().iterator();
- while (i.hasNext())
- {
- XSModel xsModel = (XSModel) i.next();
- // Retrieving the derived type definition
- XSTypeDefinition xsType = xsModel.getTypeDefinition(
- extType.getLocalPart(), extType.getNamespaceURI());
- // If it is found and derived from the base type, return true
- if (xsType != null && xsType.derivedFrom(type.getNamespaceURI(),
- type.getLocalPart(), XSConstants.DERIVATION_NONE))
- {
- return true;
- }
- }
- // extType is not derived from type, return false
- return false;
- }
-
- /**
- * Get a list of QNames of parts from the soap body of the specified message
- */
- public Element getSoapBodyChild(Document doc)
- {
-
- Element opElem = null;
- if (doc != null)
- {
- Element root = doc.getDocumentElement();
- NodeList bodies =
- root.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Body");
- // Get the list of soap:body child element names from the request message
- if (bodies != null && bodies.getLength() > 0)
- {
- Element body = (Element) bodies.item(0);
- NodeList children = body.getChildNodes();
- for (int i = 0; i < children.getLength() && opElem == null; ++i)
- {
- Node n = children.item(i);
- if (n instanceof Element)
- {
- opElem = (Element) n;
- }
- }
- }
- }
- return opElem;
- }
-
- /** Check whether this message is a soap fault
- */
- public boolean isFault(Document doc)
- {
- boolean isFault = false;
-
- if (doc != null)
- {
- Element root = doc.getDocumentElement();
- isFault =
- (root
- .getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Fault")
- .getLength()
- > 0);
- }
-
- return isFault;
- }
-
- /**
- * Check whether this message has a soap body with a child element.
- */
- public boolean containsSoapBodyWithChild(Document doc)
- {
- boolean contains = false;
-
- if (doc != null)
- {
- contains = ((getSoapBodyChild(doc) == null) ? false : true);
- }
-
- return contains;
- }
-
- /**
- * Get SOAPAction value from the HTTP headers.
- * @param headers HTTP headers
- * @return SOAPAction value
- */
- public String getSoapAction(String headers) throws WSIException
- {
- // get SOAPAction
- String action = null;
- if (headers != null)
- action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
- return action;
- }
-
- /**
- * Get a list of QNames of parts from the soap body of the specified message.
- * This method assumes RPC style message content
- */
- private QName getOperationFromMessage(Document doc)
- {
- QName operation = null;
- if (doc != null)
- {
- Element root = doc.getDocumentElement();
- NodeList bodies =
- root.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Body");
- if (bodies != null && bodies.getLength() > 0)
- {
- Element body = (Element) bodies.item(0);
- NodeList children = body.getChildNodes();
- for (int i = 0; i < children.getLength(); ++i)
- {
- Node n = children.item(i);
- // If element, then this is the operation name
- if (n instanceof Element)
- {
- operation = new QName(n.getNamespaceURI(), n.getLocalName());
- }
- }
- }
- }
-
- return operation;
- }
-
- /**
- * Get a list of QNames of parts from the soap body of the specified message.
- * This method assumes RPC style message content
- */
- private Map getPartListFromMessage(Document doc)
- {
- Map parts = new HashMap();
- if (doc != null)
- {
- Element root = doc.getDocumentElement();
- NodeList bodies =
- root.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Body");
- // Get the list of soap:body grand-child element names from the request message
- // (immediate child is the message name)
- if (bodies != null && bodies.getLength() > 0)
- {
- Element body = (Element) bodies.item(0);
- NodeList children = body.getChildNodes();
- for (int i = 0; i < children.getLength(); ++i)
- {
- Node n = children.item(i);
- if (n instanceof Element)
- {
- // this is the operation name. Its children are the parts
- NodeList grandChildren = n.getChildNodes();
- for (int j = 0; j < grandChildren.getLength(); j++)
- {
- Node m = grandChildren.item(j);
- if (m instanceof Element)
- {
- // Determine if the part has an xsi:type
- Attr attr =
- XMLUtils.getAttribute(
- (Element) m,
- new QName(WSIConstants.NS_URI_XSI, "type"));
-
- QName xsiType = null;
-
- // If there is an xsi:type attribute, then get the value as a QName
- try
- {
- if (attr != null)
- xsiType =
- DOMUtils.getQName(attr.getNodeValue(), (Element) m);
- }
- catch (javax.wsdl.WSDLException we)
- {
- }
-
- // add to the child element list
- parts.put(
- new QName(m.getNamespaceURI(), m.getLocalName()),
- xsiType);
- }
- }
- }
- }
- }
- }
- return parts;
- }
-
- public BindingOperation[] getMatchingBindingOps(
- String bindingStyle,
- Binding[] bindings)
- throws WSIException
- {
-
- HashSet bindingOperationsSet = new HashSet();
-
- // whizz through the bindings, checking for a bindingOperation matching the message
- for (int i = 0; i < bindings.length; i++)
- {
-
- Binding tryBinding = bindings[i];
- List bindingOps = tryBinding.getBindingOperations();
-
- if (bindingOps != null)
- {
-
- // search through binding Operations
- Iterator bindingOpIt = tryBinding.getBindingOperations().iterator();
- while (bindingOpIt.hasNext())
- {
-
- BindingOperation bindingOp = (BindingOperation) bindingOpIt.next();
- // check depends on which binding style is declared in the wsdl
- SOAPOperation soapOp = WSDLValidatorImpl.getSoapOperation(bindingOp);
- //GT: move this method to utils
-
- String style;
- if ((soapOp == null) || (style = soapOp.getStyle()) == null)
- {
- // use the style of the parent bindingOp
-
- SOAPBinding soapBind = WSDLValidatorImpl.getSoapBinding(tryBinding);
- //GT: move this method to utils
- if ((style = soapBind.getStyle()) == null)
- {
- style = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
- //default
- }
- }
- if (style.equals(bindingStyle))
- {
-
- bindingOperationsSet.add(bindingOp);
-
- }
- }
- } // current binding has no bindingOperations, ignore
- }
- return (BindingOperation[]) bindingOperationsSet.toArray(
- new BindingOperation[0]);
- }
-
- /**
- * Checks whether soap:body element is literal.
- * @param extElements extensibility elements of wsdl:input or wsdl:output
- * of a binding
- */
- public boolean isLiteral(List extElems)
- {
- SOAPBody soapBody = getSOAPBody(extElems);
- if (soapBody != null
- && soapBody.getUse().equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
- return true;
- else
- return false;
- }
-
- /**
- * Orders wsdl:part names keeping in mind the "parts" attribute of WSDL soap:body
- * @param messageParts a list of wsdl:partS
- * @param extElems extensibility elements in the binding
- * @return the ordered list of part names
- */
- public List orderPartNames(List messageParts, List extElems)
- {
- List orderedPartNames = new ArrayList();
- List bodyParts = null;
-
- SOAPBody soapBody = getSOAPBody(extElems);
- if (soapBody != null)
- bodyParts = soapBody.getParts();
-
- Iterator i = messageParts.iterator();
- while (i.hasNext())
- {
- String partName = ((Part) i.next()).getName();
- // If the parts attribute is not specified or contains
- // the wsdl:part name, then adding part name to the ordered list
- if (bodyParts == null || bodyParts.contains(partName))
- orderedPartNames.add(partName);
- }
-
- return orderedPartNames;
- }
-
- /**
- * Retrieves the SOAPBody object from a list of extensibility elments in binding
- * @param extElems extensibility elements
- * @return the SOAPBody element
- */
- public SOAPBody getSOAPBody(List extElems)
- {
- if (extElems == null)
- return null;
- for (Iterator i = extElems.iterator(); i.hasNext();)
- {
- Object obj = i.next();
- if (obj instanceof SOAPBody)
- return (SOAPBody) obj;
- }
-
- return null;
- }
-
- public List resolveSameNamespaces(List schemaElements)
- {
- List namespaces = new ArrayList();
- List result = new ArrayList();
- Iterator i = schemaElements.iterator();
- while (i.hasNext())
- {
- Element schema = (Element) i.next();
- String targetNamespace = schema.getAttribute(Constants.ATTR_TARGET_NAMESPACE);
- if (!namespaces.contains(targetNamespace))
- {
- namespaces.add(targetNamespace);
- List schemas = getSchemasWithSameNamespace(schemaElements, targetNamespace);
- if (schemas.size() == 1)
- {
- result.add(schema);
- }
- else
- {
- // copying all the NS declarations from wsdl:definitions wsdl:types
- //copyNSDeclarations(root, schema);
- copyNSDeclarations((Element) schema.getParentNode(), schema);
- // Replacing all relative schemaLocation URIs with absolute ones
- //replaceRelativeURIs(schema, wsdlURI);
- // Serialize the schema elements inside the Types, then use this as
- // the schema string for the validation
- //String schemaString =
- // DOM2Writer.nodeToString(schema);
- // schemaStrings.add(schemaString);
- }
- }
- }
- return null;
- }
-
- public List getSchemasWithSameNamespace(List schemaElements, String targetNamespace)
- {
- List result = new ArrayList();
- Iterator i = schemaElements.iterator();
- while (i.hasNext())
- {
- Element schema = (Element)i.next();
- String schemaTargetNamespace = schema.getAttribute(Constants.ATTR_TARGET_NAMESPACE);
- if (schemaTargetNamespace == null)
- schemaTargetNamespace = "";
-
- if (schemaTargetNamespace.equals(targetNamespace))
- {
- result.add(schema);
- }
- }
- return result;
- }
-
- public boolean duplicateNamespacesDetected(List schemaElements)
- {
- boolean result = false;
- List namespaces = new ArrayList();
- Iterator i = schemaElements.iterator();
- while (i.hasNext())
- {
- Element schema = (Element)i.next();
- String targetNamespace = schema.getAttribute(Constants.ATTR_TARGET_NAMESPACE);
- if (targetNamespace == null)
- targetNamespace = "";
-
- if (namespaces.contains(targetNamespace))
- {
- result = true;
- break;
- }
- else
- {
- namespaces.add(targetNamespace);
- }
- }
- return result;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseValidatorImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseValidatorImpl.java
deleted file mode 100644
index b72ce34c3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseValidatorImpl.java
+++ /dev/null
@@ -1,705 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.TreeMap;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.BaseValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EnvelopeValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.report.FailureDetail;
-import org.eclipse.wst.wsi.internal.core.report.PrereqFailedList;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.report.impl.PrereqFailedListImpl;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-import org.eclipse.wst.wsi.internal.core.xml.XMLDocumentCacheUser;
-import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
-
-/**
- * The WSDL validator will verify that the WSDL and associated XML schema definitions
- * are in conformance with the profile.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @author Graham Turrell (gturrell@uk.ibm.com)
- */
-public abstract class BaseValidatorImpl
- extends XMLDocumentCacheUser
- implements BaseValidator
-{
-
- /**
- * A hashtable that maps assertion results to their priorities, 0 is lowest
- */
- private static final Hashtable resultPriority = new Hashtable(6);
- static {
- resultPriority.put(AssertionResult.RESULT_PASSED, new Integer(0));
- resultPriority.put(AssertionResult.RESULT_NOT_APPLICABLE, new Integer(1));
- resultPriority.put(AssertionResult.RESULT_MISSING_INPUT, new Integer(2));
- resultPriority.put(AssertionResult.RESULT_WARNING, new Integer(3));
- resultPriority.put(AssertionResult.RESULT_PREREQ_FAILED, new Integer(4));
- resultPriority.put(AssertionResult.RESULT_FAILED, new Integer(5));
- }
-
- /**
- * The highest priority value being passed when processing pre-requisites
- */
- private static final int MAX_VALID_PRIORITY = 1;
-
- /**
- * Analyzer context.
- */
- public AnalyzerContext analyzerContext;
-
- /**
- * Profile artifact.
- */
- protected ProfileArtifact profileArtifact;
-
- /**
- * Reporter.
- */
- protected Reporter reporter;
-
- /**
- * Entry.
- */
- // protected Entry entry;
-
- /**
- * Report artifact.
- */
- protected ReportArtifact reportArtifact;
-
- /**
- * Verbose option.
- */
- public boolean verboseOption = false;
-
- /**
- * Test assertion processed count.
- */
- protected int assertionCount = 0;
-
- /**
- * Constructor.
- */
- public BaseValidatorImpl()
- {
- }
-
- /**
- * Initiailize validation test procedure.
- * @param analyzerContext the analyzerContext.
- * @param profileArtifact the profile artifiact.
- * @param reportArtifact the report artifact.
- * @param reporter a Reporter object.
- * @throws WSIException if validator could not be initialized.
- */
- public void init(
- AnalyzerContext analyzerContext,
- ProfileArtifact profileArtifact,
- ReportArtifact reportArtifact,
- Reporter reporter)
- throws WSIException
- {
- // Save input references
- this.analyzerContext = analyzerContext;
- this.profileArtifact = profileArtifact;
- this.reportArtifact = reportArtifact;
- this.reporter = reporter;
-
- // Get verbose option
- verboseOption =
- reporter
- .getReport()
- .getReportContext()
- .getAnalyzer()
- .getAnalyzerConfig()
- .getVerboseOption();
- }
-
- /**
- * Process all of the test assertions for one entry.
- * @param classPrefix a class prefix.
- * @param entryContext an entry context.
- * @throws WSIException if serious problems occur while processing
- * all of the test assertions for an entry.
- */
- protected void processAssertions(
- String classPrefix,
- EntryContext entryContext)
- throws WSIException
- {
- long startTime = 0;
-
- HashMap processList = new HashMap();
- TestAssertion testAssertion = null;
- AssertionProcess assertionProcess;
- AssertionResult assertionResult;
-
- TreeMap preReqResults;
- PrereqFailedList prereqFailedList;
- String preReqId;
-
- Class[] paramTypes = new Class[1];
- // If this is an instance of MessageValidator or EnvelopeValidator
- // then use BaseMessageValidator as a param type of assertions constructor
- paramTypes[0] = this instanceof BaseMessageValidator ?
- BaseMessageValidator.class : this.getClass();
-
- Object[] params = new Object[1];
- params[0] = this;
-
- // Get entry from context
- Entry entry = entryContext.getEntry();
-
- // Add entry to artifact
- this.reportArtifact.addEntry(entry);
-
- // Add entry to report
- if (this instanceof EnvelopeValidator)
- this.reporter.setCurrentEnvelopeEntry(entry);
- else this.reporter.setCurrentEntry(entry);
-
- try
- {
- // Go through the list of test assertions for the artifact
- Iterator iterator = profileArtifact.getTestAssertionList().iterator();
- while (iterator.hasNext())
- {
- // Get next test assertion
- testAssertion = (TestAssertion) iterator.next();
-
- // Reset variables
- assertionResult = null;
-
- // If the test assertion is enabled, then continue
- // if ((testAssertion.isEnabled()) &&
- // testAssertion.getEntryTypeName().equals(targetContext.getEntry().getEntryType().getTypeName())) {
- if (testAssertion.isEnabled()
- && isPrimaryEntryTypeMatch(testAssertion, entryContext))
- {
- try
- {
- // Add 1 to assertion processed count
- assertionCount++;
-
- // If the assertion process hasn't been created yet, then create it
- if ((assertionProcess =
- (AssertionProcess) processList.get(testAssertion.getId()))
- == null)
- {
-
- // Create a new assertion process
- Class assertionClass =
- Class.forName(classPrefix + testAssertion.getId());
-
- assertionProcess =
- (AssertionProcess) assertionClass.getConstructor(
- paramTypes).newInstance(
- params);
-
- // Add it to the list
- processList.put(testAssertion.getId(), assertionProcess);
- }
-
- // Check whether entry is null
- if (entry.getEntryDetail() == null)
- {
- assertionResult =
- createAssertionResult(
- testAssertion,
- AssertionResult.RESULT_MISSING_INPUT,
- (String) null);
- }
-
- // Check to see if the test assertion should be run
- //if (isNotApplicable(testAssertion, entryContext)) {
- else if (isNotApplicable(testAssertion))
- {
- assertionResult =
- createAssertionResult(
- testAssertion,
- AssertionResult.RESULT_NOT_APPLICABLE,
- (String) null);
- }
- else
- {
- // Processing all the assertion pre-requisites
-
- preReqResults = null;
- prereqFailedList = null;
- // Get list of pre-reqs for specified assertion
- Iterator i = testAssertion.getPrereqIdList().iterator();
- while (i.hasNext())
- {
- if (preReqResults == null)
- preReqResults = new TreeMap();
- // Get next id
- preReqId = (String) i.next();
- // Get the prereq result
- AssertionResult preReqResult = reporter.getAssertionResult(preReqId);
-
- // Adding a result priority value to preReqResults
- preReqResults.put(
- resultPriority.get(preReqResult.getResult()),
- preReqResult.getResult());
-
- // If the prereq failed, then add it to the list
- if (((Integer)resultPriority.get(preReqResult.getResult())).intValue()
- > MAX_VALID_PRIORITY)
- {
- // Adding failed prereq ID to the list
- if (prereqFailedList == null)
- prereqFailedList = new PrereqFailedListImpl();
- prereqFailedList.addTestAssertionID(preReqId);
- }
- }
-
- if (prereqFailedList != null) {
- // Getting the highest pre-requisites' result
- Integer maxRes = (Integer)preReqResults.lastKey();
- String resString = (String)preReqResults.get(maxRes);
- if (resString.equals(AssertionResult.RESULT_FAILED)
- ||resString.equals(AssertionResult.RESULT_WARNING)) {
- resString = AssertionResult.RESULT_PREREQ_FAILED;
- }
- // Create assertion result based on pre-requisites which are not passed
- assertionResult = createAssertionResult(testAssertion, resString, prereqFailedList);
- }
-
- // Pre-requisites are passed, validate current assertion
- else {
-
- // Reset test assertion
- assertionProcess.reset();
-
- // VERBOSE
- if (verboseOption)
- {
- System.err.println(
- " Processing "
- + testAssertion.getId()
- + " for entry reference ID ["
- + entry.getReferenceID()
- + "] ...");
- startTime = System.currentTimeMillis();
- }
-
- // Validate the target
- assertionResult =
- assertionProcess.validate(testAssertion, entryContext);
-
- // VERBOSE
- if (verboseOption)
- {
- System.err.println(
- " Elapsed time: "
- + (System.currentTimeMillis() - startTime)
- + "ms");
- }
- }
- }
-
- // Add result to the report
- reporter.addAssertionResult(assertionResult);
- }
-
- catch (ClassNotFoundException cnfe)
- {
- // DEBUG:
- if (testAssertion != null)
- {
- reporter
- .getReport()
- .getReportContext()
- .getAnalyzer()
- .printMessage(
- "WARNING: "
- + testAssertion.getId()
- + " is not supported currently.");
- }
- }
- }
- }
- }
-
- catch (Exception e)
- {
- System.err.println("EXECEPTION: " + e.getMessage());
- if (verboseOption)
- e.printStackTrace();
-
- if (e instanceof WSIException)
- throw (WSIException) e;
- else
- throw new WSIException(e.getMessage(), e);
- }
-
- finally
- {
- // Indicate that we are done with this assertion target
- this.reporter.endCurrentEntry();
- }
- }
-
- /**
- * Determine if the test assertion should be processed for the current entry.
- * @param testAssertion a test assertion.
- * @param entryContext the entry context.
- * @return true if the test assertion should be processed for the current entry.
- */
- protected abstract boolean isPrimaryEntryTypeMatch(
- TestAssertion testAssertion,
- EntryContext entryContext);
-
- /**
- * Determine if the test assertion should be processed for the current entry.
- * @param testAssertion a test assertion.
- * @param entry an Entry object
- * @return true if the test assertion should be processed for the current entry.
- */
- protected boolean isPrimaryEntryTypeMatch(
- TestAssertion testAssertion,
- Entry entry)
- {
- boolean match = false;
-
- // If the test assertion entry type matches the target context entry type, then contine
- if (testAssertion
- .getEntryTypeName()
- .equals(entry.getEntryType().getTypeName()))
- {
- match = true;
- }
-
- return match;
- }
-
- /**
- * Determine if the test assertion is not applicable.
- * @param testAssertion a test assertion.
- * @return true if the test assertion is not applicable.
- */
- protected abstract boolean isNotApplicable(TestAssertion testAssertion);
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.BaseValidator#cleanup()
- */
- public void cleanup() throws WSIException
- {
- // If no assertions were processed, then set all missingInput
- if (assertionCount == 0)
- setAllMissingInput();
- }
-
- /**
- * Create assertion result.
- * @param testAssertion a test assertion.
- * @param result a String object.
- * @param failureDetail a FailureDetail object.
- * @return newly created test result.
- */
- public AssertionResult createAssertionResult(
- TestAssertion testAssertion,
- String result,
- FailureDetail failureDetail)
- {
- Vector failureDetailList = null;
-
- // Create failure detail list
- if (failureDetail != null)
- {
- failureDetailList = new Vector();
- failureDetailList.add(failureDetail);
- }
-
- return createAssertionResult(testAssertion, result, failureDetailList);
- }
-
- /**
- * Create assertion result.
- * @param testAssertion a test assertion.
- * @param result a String object.
- * @param failureDetailMessage a failure detail message.
- * @return newly created test result.
- */
- public AssertionResult createAssertionResult(
- TestAssertion testAssertion,
- String result,
- String failureDetailMessage)
- {
- return createAssertionResult(
- testAssertion,
- result,
- failureDetailMessage,
- null);
- }
-
- /**
- * Create assertion result.
- * @param testAssertion a test assertion.
- * @param result a String object.
- * @param failureDetailMessage a failure detail message.
- * @param elementLocation element location.
- * @return newly created test result.
- */
- public AssertionResult createAssertionResult(
- TestAssertion testAssertion,
- String result,
- String failureDetailMessage,
- ElementLocation elementLocation)
- {
- // Create failure detail list
- Vector failureDetailList = null;
- if (failureDetailMessage != null)
- {
- failureDetailList = new Vector();
- FailureDetail failureDetail = reporter.createFailureDetail();
- failureDetail.setFailureMessage(failureDetailMessage);
- failureDetail.setElementLocation(elementLocation);
- failureDetailList.add(failureDetail);
- }
-
- return createAssertionResult(testAssertion, result, failureDetailList);
- }
-
- /**
- * Create assertion result.
- * @param testAssertion a test assertion.
- * @param result a String object.
- * @param failureDetailList a failure detail list.
- * @return newly created test result.
- */
- public AssertionResult createAssertionResult(
- TestAssertion testAssertion,
- String result,
- Vector failureDetailList)
- {
- // Create assertion result
- AssertionResult assertionResult = reporter.createAssertionResult();
-
- // Set values in assertion result
- assertionResult.setAssertion(testAssertion);
- assertionResult.setResult(result);
- assertionResult.setEntry(reporter.getReport().getCurrentEntry());
-
- // Set failure detail list
- assertionResult.setFailureDetailList(failureDetailList);
-
- return assertionResult;
- }
-
- /**
- * Create assertion result.
- * @param testAssertion a test assertion.
- * @param result a String object.
- * @param prereqFailedList a list failed pre-requisite assertions.
- * @return newly created test result.
- */
- public AssertionResult createAssertionResult(
- TestAssertion testAssertion,
- String result,
- PrereqFailedList prereqFailedList)
- {
- // Create assertion result
- AssertionResult assertionResult = reporter.createAssertionResult();
-
- // Set values in assertion result
- assertionResult.setAssertion(testAssertion);
- assertionResult.setResult(result);
- assertionResult.setEntry(reporter.getReport().getCurrentEntry());
- assertionResult.setPrereqFailedList(prereqFailedList);
-
- return assertionResult;
- }
-
- /**
- * Add assertion result to report.
- * @param assertionId assertion id.
- * @param result assertion result.
- * @throws WSIException if the assertion result cannot be added to the report.
- */
- protected void addAssertionResult(String assertionId, String result)
- throws WSIException
- {
- // Create test assertion result
- AssertionResult assertionResult = reporter.createAssertionResult();
-
- // Set assertion, result and target
- assertionResult.setAssertion(profileArtifact.getTestAssertion(assertionId));
- assertionResult.setResult(result);
- assertionResult.setEntry(reporter.getReport().getCurrentEntry());
-
- // Add it to the report
- reporter.addAssertionResult(assertionResult);
- }
-
- /**
- * Add assertion result to report with an error detail message.
- * @param assertionId assertion id.
- * @param result assertion result.
- * @param failureDetailMessage an error detail message.
- * @throws WSIException if the assertion result cannot be added to the report.
- */
- protected void addAssertionResult(
- String assertionId,
- String result,
- String failureDetailMessage)
- throws WSIException
- {
- // Convert message to vector
- Vector failureDetailList = null;
- if (failureDetailMessage != null)
- {
- failureDetailList = new Vector();
- FailureDetail failureDetail = reporter.createFailureDetail();
- failureDetailList.add(failureDetail);
- }
-
- // Add assertion result
- addAssertionResult(assertionId, result, failureDetailList);
- }
-
- /**
- * Add assertion result to report.
- * @param assertionId assertion id.
- * @param result assertion result.
- * @param failureDetailList a list of error detail messages.
- * @throws WSIException if the assertion result cannot be added to the report.
- */
- protected void addAssertionResult(
- String assertionId,
- String result,
- Vector failureDetailList)
- throws WSIException
- {
- // Create test assertion result
- AssertionResult assertionResult = reporter.createAssertionResult();
-
- // Set assertion, result and target
- assertionResult.setAssertion(profileArtifact.getTestAssertion(assertionId));
- assertionResult.setResult(result);
- assertionResult.setEntry(reporter.getReport().getCurrentEntry());
- assertionResult.setFailureDetailList(failureDetailList);
-
- // Add it to the report
- reporter.addAssertionResult(assertionResult);
- }
-
- /**
- * Add missingInput assertion result to report.
- * @param testAssertion a test assertion.
- * @throws WSIException if there is any problem adding missingInput
- * assertion result to report.
- */
- protected void addMissingInputResult(TestAssertion testAssertion)
- throws WSIException
- {
- // Create test assertion result
- AssertionResult assertionResult = reporter.createAssertionResult();
-
- // Set assertion, result and target
- assertionResult.setAssertion(testAssertion);
- assertionResult.setResult(AssertionResult.RESULT_MISSING_INPUT);
- assertionResult.setEntry(reporter.getReport().getCurrentEntry());
-
- // Add it to the report
- reporter.addAssertionResult(assertionResult);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.BaseValidator#setAllMissingInput()
- */
- public void setAllMissingInput() throws WSIException
- {
- // If profile artifact is set
- if (profileArtifact != null)
- {
- TestAssertion testAssertion;
-
- // Create entry
- Entry entry = this.reporter.getReport().createEntry();
- entry.setArtifactName(this.reportArtifact.getType().getTypeName());
-
- // Add entry to artifact
- this.reportArtifact.addEntry(entry);
-
- // Add entry to report
- this.reporter.setCurrentEntry(entry);
-
- // Go through the list of test assertions for the artifact
- Iterator iterator = profileArtifact.getTestAssertionList().iterator();
- while (iterator.hasNext())
- {
- // Get next test assertion
- testAssertion = (TestAssertion) iterator.next();
-
- // Add missingInput result
- if (testAssertion.isEnabled())
- addMissingInputResult(testAssertion);
- }
-
- // Indicate that we are done with this assertion target
- this.reporter.endCurrentEntry();
- }
- }
-
- /**
- * Set all results for an entry type to missingInput.
- * @param entryType an EntryType object.
- * @throws WSIException if there is any problem while processing.
- */
- protected void setMissingInput(EntryType entryType) throws WSIException
- {
- TestAssertion testAssertion;
-
- // Create entry
- Entry entry = this.reporter.getReport().createEntry();
- entry.setEntryType(entryType);
- entry.setReferenceID("[" + entryType.getTypeName() + "]");
-
- // Add entry to artifact
- this.reportArtifact.addEntry(entry);
-
- // Add entry to report
- this.reporter.setCurrentEntry(entry);
-
- //try {
- // Go through the list of test assertions for the artifact
- Iterator iterator = profileArtifact.getTestAssertionList().iterator();
- while (iterator.hasNext())
- {
- // Get next test assertion
- testAssertion = (TestAssertion) iterator.next();
- if (testAssertion.isEnabled()
- && isPrimaryEntryTypeMatch(testAssertion, entry))
- {
- addMissingInputResult(testAssertion);
- }
- }
-
- // Indicate that we are done with this entry
- this.reporter.endCurrentEntry();
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/ProfileValidatorFactoryImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/ProfileValidatorFactoryImpl.java
deleted file mode 100644
index 4add15518..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/ProfileValidatorFactoryImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EnvelopeValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.MessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.ProfileValidatorFactory;
-import org.eclipse.wst.wsi.internal.core.profile.validator.UDDIValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.WSDLValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.EnvelopeValidatorImpl;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.message.MessageValidatorImpl;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi.UDDIValidatorImpl;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl.WSDLValidatorImpl;
-
-/**
- * This class is an implementation of the WSILDocumentFactory.
- *
- * @version 1.0.1
- * @author: Peter Brittenham
- */
-public class ProfileValidatorFactoryImpl extends ProfileValidatorFactory
-{
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.ProfileValidatorFactory#newUDDIValidator()
- */
- public UDDIValidator newUDDIValidator() throws WSIException
- {
- // Create new UDDI validator
- UDDIValidator uddiValidator = new UDDIValidatorImpl();
- // Return validator
- return uddiValidator;
- }
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.ProfileValidatorFactory#newWSDLValidator()
- */
- public WSDLValidator newWSDLValidator() throws WSIException
- {
- // Create new WSDL validator
- WSDLValidator wsdlValidator = new WSDLValidatorImpl();
-
- // Return validator
- return wsdlValidator;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.ProfileValidatorFactory#newMessageValidator()
- */
- public MessageValidator newMessageValidator() throws WSIException
- {
- // Create new message validator
- MessageValidator messageValidator = new MessageValidatorImpl();
- // Return validator
- return messageValidator;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.ProfileValidatorFactory#newEnvelopeValidator()
- */
- public EnvelopeValidator newEnvelopeValidator() throws WSIException
- {
- // Create new envelope validator
- EnvelopeValidator envelopeValidator = new EnvelopeValidatorImpl();
- // Return validator
- return envelopeValidator;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1920.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1920.java
deleted file mode 100644
index a7f2ebd07..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1920.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-
-/**
- * AP1920
- *
- * <context>For an envelope in a response message
- * containing a soap:Fault element</context>
- * <assertionDescription>In a description, if and only if, the wsdl:output
- * element is described using WSDL MIME binding, then the envelope in the
- * response message can contain faults with attachments.</assertionDescription>
- */
-public class AP1920 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1920(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- try
- {
- if (!entryContext.getMessageEntry().isMimeContent())
- {
- throw new AssertionNotApplicableException();
- }
-
- // check for a fault element within the message
- if((entryContext.getMessageEntryDocument() == null) ||
- entryContext.getMessageEntryDocument().
- getElementsByTagNameNS(WSITag.ELEM_SOAP_FAULT.getNamespaceURI(),
- WSITag.ELEM_SOAP_FAULT.getLocalPart()).getLength() != 1)
- throw new AssertionNotApplicableException();
-
- BindingOperation bindingOperation = validator.getOperationMatch(
- EntryType.getEntryType(EntryType.TYPE_MESSAGE_REQUEST),
- entryContext.getRequestDocument());
-
- // If there is no matched operation, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
- // If the envelope in a response message contains a fault with attachments
- // and the corresponding wsdl:output element in the description is not
- // described using the WSDL MIME binding, the assertion is failed
- if ((entryContext.getMessageEntry().getMimeParts().count() > 1) &&
- (getMultipartRelatedBindings(bindingOperation) == null))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- validator.createFailureDetail("The message contains \"" +
- entryContext.getMessageEntry().getMimeParts().count() + "\" part(s)",
- entryContext);
- }
- }
- catch(AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Returns Multipart related bindings, if does not found, returns null.
- * @param op binding operation
- * @return Multipart related bindings, if does not found, returns null.
- */
- private MIMEMultipartRelated getMultipartRelatedBindings(
- BindingOperation op)
- {
- // Finding operation extensibility elems
- // in the binding depending on message type
- List extElems = op.getBindingOutput().getExtensibilityElements();
- // check list on first element
- if((extElems == null) || (extElems.size() == 0) ||
- !(extElems.get(0) instanceof MIMEMultipartRelated))
- return null;
- return (MIMEMultipartRelated) extElems.get(0);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1928.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1928.java
deleted file mode 100644
index 5965fcfa4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1928.java
+++ /dev/null
@@ -1,426 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.xml.namespace.QName;
-
-import org.apache.xerces.xs.XSComplexTypeDefinition;
-import org.apache.xerces.xs.XSConstants;
-import org.apache.xerces.xs.XSElementDeclaration;
-import org.apache.xerces.xs.XSModel;
-import org.apache.xerces.xs.XSModelGroup;
-import org.apache.xerces.xs.XSObjectList;
-import org.apache.xerces.xs.XSParticle;
-import org.apache.xerces.xs.XSTerm;
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.MIMEConstants;
-import org.eclipse.wst.wsi.internal.core.util.MIMEUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * AP1928
- *
- * <context>For a candidate envelope containing a URI reference
- * that is typed using the ref:swaRef schema type</context>
- * <assertionDescription>In an envelope, a URI reference that is typed using
- * the ref:swaRef schema type resolves to a MIME part in the same message
- * as the envelope.</assertionDescription>
- */
-public class AP1928 extends AssertionProcess implements WSITag
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1928(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- try
- {
- if (!entryContext.getMessageEntry().isMimeContent())
- {
- throw new AssertionNotApplicableException();
- }
- // get the rrot part of a multipart/related message
- Document root = entryContext.getMessageEntryDocument();
- MimeParts mimeParts = entryContext.getMessageEntry().getMimeParts();
-
- // get an operation matched for the message
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(), root);
-
- // if no one operation matches, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
-
- // get the corresponding extensibility elements and message
- List extElems;
- Message message;
- if (MessageEntry.TYPE_REQUEST
- .equals(entryContext.getEntry().getEntryType()))
- {
- extElems = bindingOperation.getBindingInput() == null ? null
- : bindingOperation.getBindingInput().getExtensibilityElements();
- message = bindingOperation.getOperation().getInput() == null ? null
- : bindingOperation.getOperation().getInput().getMessage();
- }
- else
- {
- extElems = bindingOperation.getBindingOutput() == null ? null
- : bindingOperation.getBindingOutput().getExtensibilityElements();
- message = bindingOperation.getOperation().getOutput() == null ? null
- : bindingOperation.getOperation().getOutput().getMessage();
- }
-
- // If there are no extensibility elements in the WSDL binding operation,
- // the assertion is not applicable
- if (extElems == null || extElems.size() < 1)
- throw new AssertionNotApplicableException();
-
- // Collecting the names of schema elements that are defined
- // with the ref:swaRef schema type
- List swaRefs = getSwaRefs((ExtensibilityElement)extElems.get(0), message);
- // If such schema elements are not found, the assertion is not applicable
- if (swaRefs.isEmpty())
- throw new AssertionNotApplicableException();
-
- // Going through all the schema element names
- for (int i = 0; i < swaRefs.size(); i++)
- {
- QName elemName = (QName) swaRefs.get(i);
- // Looking for such elements in the root MIME part
- NodeList elems = root.getDocumentElement().getElementsByTagNameNS(
- elemName.getNamespaceURI(), elemName.getLocalPart());
- // Going through all the ref:swaRef references
- for (int j = 0; j < elems.getLength(); j++)
- {
- Node elem = elems.item(j);
- // Getting a value of this reference
- String ref = elem.getFirstChild() == null ? null
- : elem.getFirstChild().getNodeValue();
- // If the value is invalid, the assertion failed
- if (ref == null)
- throw new AssertionFailException("The element " + elem.getNodeName()
- + " of the ref:swaRef schema type is specified, but its vaule"
- + " is invalid.");
- // If the URI does not start with the "cid:" content-id prefix
- // The assertion failed
- if (!ref.startsWith("cid:"))
- {
- throw new AssertionFailException("The URI " + ref
- + " of the ref:swaRef schema type must use the cid: prefix.");
- }
- boolean refFound = false;
- Iterator iMimeParts = mimeParts.getParts().iterator();
- // Going through all the MIME parts of the SOAP message
- while (iMimeParts.hasNext())
- {
- MimePart mimePart = (MimePart)iMimeParts.next();
- // Getting part's Content-ID header
- String cid = MIMEUtils.getMimeHeaderAttribute(
- mimePart.getHeaders(), MIMEConstants.HEADER_CONTENT_ID);
- if (cid != null)
- {
- // If the header value equals the reference URI,
- // the corresponding MIME part is found
- if (cid.equals('<' + ref.substring(4) + '>'))
- {
- refFound = true;
- break;
- }
- }
- }
- // If the corresponding MIME part is not found
- // the assertion failed
- if (!refFound)
- throw new AssertionFailException("The SOAP message does not contain"
- + " a MIME part with the <" + ref.substring(4) + "> Content-ID.");
- }
- }
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Collects names of schema elements that are defined with the ref:swaRef
- * schema type.
- * @param extElem a list of extensibility elements
- * @param message the corresponding message element.
- * @return a list of such names found.
- */
- private List getSwaRefs(ExtensibilityElement extElem, Message message)
- {
- List swaRefs = new ArrayList();
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Getting the root mime:part
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- if (mimeParts.size() > 0)
- {
- // Getting extensibility elements of the first mime:part
- List elems = ((MIMEPart) mimeParts.get(0)).getExtensibilityElements();
- List boundParts = new ArrayList();
- // Going through all the MIME part's extensibility elements
- for (int k = 0; k < elems.size(); k ++)
- {
- ExtensibilityElement elem = (ExtensibilityElement) elems.get(k);
- // If that is a soap:body
- if (elem.getElementType().equals(WSDL_SOAP_BODY) && message != null)
- {
- // Getting parts specified by the parts attribute
- List bodyParts = ((SOAPBody) elem).getParts();
- // Collecting all the message parts bound by this soapbind:body
- Iterator i = message.getParts().values().iterator();
- while (i.hasNext())
- {
- Part part = (Part) i.next();
- if (bodyParts == null || bodyParts.contains(part.getName()))
- {
- boundParts.add(part);
- }
- }
- }
- // else if that is a soap:header
- else if (elem.getElementType().equals(WSDL_SOAP_HEADER))
- {
- QName msgName;
- String partName;
- if (elem instanceof SOAPHeader)
- {
- SOAPHeader header = (SOAPHeader) elem;
- // If the part is bound by this element
- msgName = header.getMessage();
- partName = header.getPart();
- }
- // WSDL4J 1.4 does not recognize soap:header elements that
- // are enclosed in mime:multipartRelated, so using a workaround
- else
- {
- Element header =
- ((UnknownExtensibilityElement) elem).getElement();
- // Getting the element's message attribute
- String msgVal = header.getAttribute("message");
- // finding the colon delimiter
- int colonPos = msgVal.indexOf(":");
- String ns = null;
- // Getting a local part
- String lp = colonPos > -1 ? msgVal.substring(colonPos + 1) : msgVal;
- // If the delimiter is found
- if (colonPos > -1)
- {
- // Retrieving a namespace URI
- ns = validator.getWSDLDocument()
- .getDefinitions().getNamespace(msgVal.substring(0, colonPos));
- }
- msgName = new QName(ns, lp);
- partName = header.getAttribute("part");
- }
- // Getting a message referenced by this soapbind:header element
- Message msg =
- validator.getWSDLDocument().getDefinitions().getMessage(msgName);
- if (msg != null)
- {
- // Adding the part to the list of bound parts
- Part part = msg.getPart(partName);
- if (part != null)
- boundParts.add(part);
- }
- }
- }
-
- // All the bound parts from soapbind:body and soapbind:header
- // are collected, finding swaRef references.
- for (int i = 0; i < boundParts.size(); i++)
- {
- Part part = (Part) boundParts.get(i);
- QName ref;
- short type;
- // Getting either part's element reference or type reference
- if ((ref = part.getTypeName()) != null)
- {
- type = XSConstants.TYPE_DEFINITION;
- }
- else if ((ref = part.getElementName()) != null)
- {
- type = XSConstants.ELEMENT_DECLARATION;
- }
- // The part conatins neither element nor type attribute,
- // proceeding with the next part
- else
- {
- continue;
- }
- // Getting a list of schemas defined
- Map schemas = validator.getWSDLDocument().getSchemas();
- // Going through the schemas
- Iterator it = schemas.values().iterator();
- while (it.hasNext())
- {
- XSModel xsModel = (XSModel) it.next();
- XSTypeDefinition xsType = null;
- // Getting the corresponding part type
- if (type == XSConstants.ELEMENT_DECLARATION)
- {
- // Getting schema element
- XSElementDeclaration elem = xsModel.getElementDeclaration(
- ref.getLocalPart(), ref.getNamespaceURI());
- if (elem != null)
- {
- // Getting element's type
- xsType = elem.getTypeDefinition();
- // If it is ref:swaRef
- if (WSIConstants.NS_URI_SWA_REF.equals(xsType.getName())
- && WSIConstants.SCHEMA_TYPE_SWA_REF.equals(
- xsType.getNamespace()))
- {
- // Adding the name of the element to the list
- swaRefs.add(
- new QName(elem.getNamespace(), elem.getName()));
- }
- }
- }
- else
- {
- xsType = xsModel.getTypeDefinition(
- ref.getLocalPart(), ref.getNamespaceURI());
- }
- // Collecting all the element names,adding element names to the list
- swaRefs.addAll(collectSwaRefs(xsType));
- }
- }
- }
- }
- return swaRefs;
- }
-
- /**
- * Collects names of schema elements that are defined with the ref:swaRef
- * schema type.
- * @param xsType a schema type.
- * @return a list of names found.
- */
- private List collectSwaRefs(XSTypeDefinition xsType)
- {
- List swaRefs = new ArrayList();
- if (xsType != null)
- {
- // If this is a complex type
- if (xsType.getTypeCategory() == XSTypeDefinition.COMPLEX_TYPE)
- {
- XSComplexTypeDefinition xsComplexType =
- (XSComplexTypeDefinition) xsType;
- // If it contains mixed context
- if (xsComplexType.getParticle() != null)
- {
- // collecting element names
- swaRefs.addAll(collectSwaRefs(xsComplexType.getParticle().getTerm()));
- }
- }
- }
- return swaRefs;
- }
-
- /**
- * Collects names of schema elements that are defined with the ref:swaRef
- * schema type.
- * @param term a schema term.
- * @return a list of names found.
- */
- private List collectSwaRefs(XSTerm term)
- {
- List swaRefs = new ArrayList();
- // If a term is an element declaration
- if (term.getType() == XSConstants.ELEMENT_DECLARATION)
- {
- XSElementDeclaration elem = (XSElementDeclaration) term;
- XSTypeDefinition xsType = elem.getTypeDefinition();
- // If element's type is ref:swaRef
- if (WSIConstants.NS_URI_SWA_REF.equals(xsType.getNamespace())
- && WSIConstants.SCHEMA_TYPE_SWA_REF.equals(xsType.getName()))
- {
- // Add element's name to the list
- swaRefs.add(
- new QName(elem.getNamespace(), elem.getName()));
- }
- else
- {
- // else collecting element names from element's type
- swaRefs.addAll(collectSwaRefs(xsType));
- }
- }
- // else if a term is a model group
- else if(term.getType() == XSConstants.MODEL_GROUP)
- {
- // Getting a list of Particle schema components
- XSObjectList list = ((XSModelGroup) term).getParticles();
- for (int i = 0; i < list.getLength(); i++)
- {
- // Collecting element names
- swaRefs.addAll(collectSwaRefs(((XSParticle) list.item(i)).getTerm()));
- }
- }
- return swaRefs;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1005.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1005.java
deleted file mode 100644
index 7aa465d13..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1005.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1005.
- */
-public class BP1005 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1005(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (this.validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
-
- // Parse message
- Document doc = entryContext.getMessageEntryDocument();
-
- // If this is a fault mesage, then it is not applicable
- if (this.validator.isFault(doc))
- {
- throw new AssertionNotApplicableException();
- }
-
- // Check if there is a soap body element
- if (!this.validator.containsSoapBodyWithChild(doc))
- {
- throw new AssertionNotApplicableException();
- }
-
- // Parse request message
- Document docRequest = entryContext.getRequestDocument();
-
- // get SOAPAction
- String headers = entryContext.getRequest().getHTTPHeaders();
- String action = null;
- if (headers != null)
- action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
-
- Binding binding = validator.analyzerContext.getCandidateInfo().getBindings()[0];
- TypesRegistry registry =
- new TypesRegistry(
- this.validator.getWSDLDocument().getDefinitions(),
- validator);
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- docRequest,
- action,
- binding,
- registry);
- if (match == null)
- throw new AssertionNotApplicableException();
-
- BindingOperation bindingOperation = match.getOperation();
-
- // Is rpc style?
- if (!WSIConstants
- .ATTRVAL_SOAP_BIND_STYLE_RPC
- .equals(match.getOperationStyle()))
- throw new AssertionNotApplicableException();
-
- List extElements = null;
-
- if (bindingOperation.getBindingOutput() != null)
- extElements =
- bindingOperation.getBindingOutput().getExtensibilityElements();
-
- // Is message RPC-literal?
- if (!validator.isLiteral(extElements))
- throw new AssertionNotApplicableException();
-
- //Get message
-
- // Gets body
- NodeList soapBodyList =
- doc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_BODY);
- if (soapBodyList.getLength() == 0 || soapBodyList.getLength() > 1)
- {
- // There is not a body or more than one bodies in the envlope.
- throw new AssertionFailException();
- }
- Element soapBodyElem = (Element) soapBodyList.item(0);
-
- // Find wrapper element in the body
- Element wrapperElement = XMLUtils.getFirstChild(soapBodyElem);
- if (wrapperElement == null)
- {
- throw new AssertionFailException();
- }
-
- if (wrapperElement
- .getLocalName()
- .equals(bindingOperation.getName() + "Response"))
- {
- result = AssertionResult.RESULT_PASSED;
- }
- else
- {
- result = AssertionResult.RESULT_FAILED;
- }
-
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1007.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1007.java
deleted file mode 100644
index 469486968..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1007.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-
-
-/**
- * BP1007
- *
- * <context>For a candidate message, in the message log file</context>
- * <assertionDescription>DTDs relating to soap:header or soap:body documents, are not present in the message: no DOCTYPE element is present.</assertionDescription>
- */
-public class BP1007 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1007(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Parse log message
- Document doc = entryContext.getMessageEntryDocument();
- if (doc == null)
- {
- // message is empty or invalid, the assertion is not applicable
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- // else if the message contains a Document Type Declaration, the assertion failed
- else if (doc.getDoctype() != null)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- testAssertion.getFailureDetailDescription(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1008.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1008.java
deleted file mode 100644
index 21202362e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1008.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1008.
- * Message has part accessor elements for parameters and return value, in no namespaces,
- * but the children of these are namespace qualified with the same targetNamespace with which
- * their types are defined.
- */
-public class BP1008 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1008(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.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
- {
- try
- {
-
- if (this.validator.isOneWayResponse(entryContext))
- throw new AssertionFailException(
- AssertionResult.RESULT_NOT_APPLICABLE);
-
- // Parse message
- Document doc = entryContext.getMessageEntryDocument();
-
- // If there is no message, then throw fail exception
- if (doc == null)
- throw new AssertionFailException();
-
- if (this.validator.isFault(doc))
- {
- throw new AssertionFailException(
- AssertionResult.RESULT_NOT_APPLICABLE);
- }
-
- // Check if there is a soap body element
- if (!this.validator.containsSoapBodyWithChild(doc))
- {
- throw new AssertionNotApplicableException();
- }
-
- // Parse request message
- Document docRequest = entryContext.getRequestDocument();
-
- // get SOAPAction
- String action =
- validator.getSoapAction(entryContext.getRequest().getHTTPHeaders());
-
- Binding binding = validator.analyzerContext.getCandidateInfo().getBindings()[0];
- //Definition definition = entryContext.getAnalyzerContext().getCandidateInfo().getDefinitions()[0];
- TypesRegistry registry =
- new TypesRegistry(
- this.validator.getWSDLDocument().getDefinitions(),
- validator);
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- docRequest,
- action,
- binding,
- registry);
- if (match == null)
- throw new AssertionNotApplicableException();
-
- BindingOperation bindingOperation = match.getOperation();
-
- // Is rpc style?
- if (!WSIConstants
- .ATTRVAL_SOAP_BIND_STYLE_RPC
- .equals(match.getOperationStyle()))
- throw new AssertionFailException(
- AssertionResult.RESULT_NOT_APPLICABLE);
-
- // Gets body
- NodeList soapBodyList =
- doc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_BODY);
- if (soapBodyList.getLength() == 0 || soapBodyList.getLength() > 1)
- {
- // There is not a body or more than one bodies in the envlope.
- throw new AssertionFailException();
- }
- Element soapBodyElem = (Element) soapBodyList.item(0);
-
- result = null;
-
- // Find operation in the body
- Element soapOperation = XMLUtils.getFirstChild(soapBodyElem);
- if (soapOperation == null)
- {
- throw new AssertionFailException();
- }
-
- // Find operation message and ext. elements in the binding
- Message operationMessage = null;
- List extElements = null;
- if (MessageEntry
- .TYPE_REQUEST
- .equals(entryContext.getMessageEntry().getType()))
- {
- operationMessage =
- bindingOperation.getOperation().getInput().getMessage();
- if (bindingOperation.getBindingInput() != null)
- extElements =
- bindingOperation.getBindingInput().getExtensibilityElements();
- }
- else
- {
- if (MessageEntry
- .TYPE_RESPONSE
- .equals(entryContext.getMessageEntry().getType()))
- {
- operationMessage =
- bindingOperation.getOperation().getOutput().getMessage();
- if (bindingOperation.getBindingOutput() != null)
- extElements =
- bindingOperation.getBindingOutput().getExtensibilityElements();
- }
- }
-
- // Is message RPC-literal?
- if (!validator.isLiteral(extElements))
- throw new AssertionFailException(
- AssertionResult.RESULT_NOT_APPLICABLE);
-
- // gets first child of message
- Element soapMessagePart = XMLUtils.getFirstChild(soapOperation);
- if (soapMessagePart == null)
- {
- throw new AssertionPassException();
- }
-
- while (soapMessagePart != null)
- {
- // check whether part accessor or return are in no namespace
-
- if (soapMessagePart.getNamespaceURI() != null
- || "".equals(soapMessagePart.getNamespaceURI()))
- {
- throw new AssertionFailException();
- }
-
- // check whether children are namespace qualified
- // with the same targetNamespace with which their types are defined
- String typesTargetNS =
- getTypeNS(operationMessage, soapMessagePart.getLocalName());
-
- if (typesTargetNS == null)
- throw new AssertionFailException();
-
- if (!checkChildrenNamespace(soapMessagePart, typesTargetNS))
- {
- throw new AssertionFailException();
- }
-
- soapMessagePart = XMLUtils.getNextSibling(soapMessagePart);
- }
-
- result = AssertionResult.RESULT_PASSED;
-
- }
- catch (AssertionFailException e)
- {
- if (e.getMessage() != null && e.getMessage().length() > 0)
- result = e.getMessage();
- else
- result = AssertionResult.RESULT_FAILED;
- }
- catch (AssertionPassException e)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- if (result == AssertionResult.RESULT_FAILED)
- {
- failureDetail = this.validator.createFailureDetail(null, entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /**
- * Gets part type NS.
- * @param message
- * @param partName
- * @return String
- */
- private String getTypeNS(Message message, String partName)
- {
- Part part = message.getPart(partName);
- if (part == null)
- return null;
- else
- return part.getTypeName().getNamespaceURI();
- }
-
- /**
- * Checks children elements' namespace.
- * @param node
- * @param typesTargetNS
- * @return boolean
- */
-
- private boolean checkChildrenNamespace(Element node, String typesTargetNS)
- {
- NodeList parts = node.getElementsByTagName("*");
- for (int i = 0; i < parts.getLength(); i++)
- {
- Element part = (Element) parts.item(i);
- if (!typesTargetNS.equals(part.getNamespaceURI()))
- {
- return false;
- }
- if (!checkChildrenNamespace(part, typesTargetNS))
- {
- return false;
- }
- }
- return true;
- }
-
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1009.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1009.java
deleted file mode 100644
index 32e401b07..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1009.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Definition;
-import javax.wsdl.Message;
-import javax.wsdl.OperationType;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1009.
- * Message includes all soapbind:headers specified in the wsdl:input
- * (if request) or wsdl:output (if response) of the operation referred
- * to by its wsdl:binding, and may also include headers that were not specified.
- */
-public class BP1009 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1009(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (this.validator.isOneWayResponse(entryContext))
- {
- throw new AssertionNotApplicableException();
- }
-
- // Parse message
- Document doc = entryContext.getMessageEntryDocument();
-
- // Parse request message
- Document docRequest = entryContext.getRequestDocument();
-
- if (doc == null || docRequest == null)
- throw new AssertionNotApplicableException();
-
- // Check if there is a soap body element
- if (!this.validator.containsSoapBodyWithChild(doc))
- {
- throw new AssertionNotApplicableException();
- }
-
- if (this.validator.isFault(doc))
- {
- throw new AssertionFailException(
- AssertionResult.RESULT_NOT_APPLICABLE);
- }
-
- // get SOAPAction
- String headers = entryContext.getRequest().getHTTPHeaders();
- String action = null;
- if (headers != null)
- action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
-
- Binding binding = validator.analyzerContext.getCandidateInfo().getBindings()[0];
- TypesRegistry registry =
- new TypesRegistry(
- this.validator.getWSDLDocument().getDefinitions(),
- validator);
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- docRequest,
- action,
- binding,
- registry);
-
- if (match == null)
- {
- throw new AssertionNotApplicableException();
- }
-
- BindingOperation bindingOperation = match.getOperation();
-
- // If this is a one-way operation and we are processing a response, then set result to notApplicable
- if (bindingOperation
- .getOperation()
- .getStyle()
- .equals(OperationType.ONE_WAY)
- && (entryContext
- .getMessageEntry()
- .getType()
- .equals(MessageEntry.TYPE_RESPONSE)))
- {
- throw new AssertionNotApplicableException();
- }
-
- // find body
- NodeList soapBodyList =
- doc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_BODY);
- if (soapBodyList.getLength() == 0 || soapBodyList.getLength() > 1)
- {
- // There is not a body or more than one bodies in the envlope.
- throw new AssertionPassException();
- }
- // find headers
- NodeList soapHeaders =
- doc.getElementsByTagNameNS(
- WSITag.ELEM_SOAP_HEADER.getNamespaceURI(),
- WSITag.ELEM_SOAP_HEADER.getLocalPart());
-
- //find all operation
- //Element soapOperation = XMLUtils.getFirstChild(soapBodyElem);
-
- // gets soapbind:headers
- List bindingHeaders = null;
- if (entryContext
- .getMessageEntry()
- .getType()
- .equals(MessageEntry.TYPE_REQUEST))
- {
- if (bindingOperation.getBindingInput() != null)
- bindingHeaders =
- bindingOperation.getBindingInput().getExtensibilityElements();
- else
- throw new AssertionFailException();
-
- }
- else
- {
- if (entryContext
- .getMessageEntry()
- .getType()
- .equals(MessageEntry.TYPE_RESPONSE))
- {
- if (bindingOperation.getBindingOutput() != null)
- bindingHeaders =
- bindingOperation.getBindingOutput().getExtensibilityElements();
- else
- throw new AssertionFailException();
- }
- }
- if (bindingHeaders == null || bindingHeaders.size() == 0)
- {
- throw new AssertionPassException();
- }
-
- Iterator iterator = bindingHeaders.iterator();
- while (iterator.hasNext())
- {
- Object bindingHeader = iterator.next();
- if (bindingHeader instanceof SOAPHeader)
- {
- // find soapbind:header in SOAP message
- if (!isBindingHeaderInSOAPMessage(entryContext,
- soapHeaders,
- (SOAPHeader) bindingHeader))
- {
- throw new AssertionFailException();
- }
- }
- }
-
- result = AssertionResult.RESULT_PASSED;
-
- }
- catch (AssertionFailException e)
- {
- if (e.getMessage() != null && e.getMessage().length() > 0)
- result = e.getMessage();
- else
- result = AssertionResult.RESULT_FAILED;
- }
- catch (AssertionPassException e)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- if (result == AssertionResult.RESULT_FAILED)
- {
- failureDetail = this.validator.createFailureDetail(null, entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /**
- * Checks whether specified SOAPHeader is in the SOAPMessage.
- * @param soapHeaderList
- * @param SOAPHeader
- * @return boolean
- */
- private boolean isBindingHeaderInSOAPMessage(
- EntryContext entryContext,
- NodeList soapHeaders,
- SOAPHeader bindingHeader)
- {
-
- Message msg = getMessageByQName(entryContext, bindingHeader.getMessage());
- if (msg == null)
- return false;
-
- Part part = msg.getPart(bindingHeader.getPart());
- if (part == null)
- return false;
-
- QName partElementName = part.getElementName();
- QName partTypeName = part.getTypeName();
-
- if (partTypeName == null && partElementName == null)
- return false;
-
- if (soapHeaders == null || soapHeaders.getLength() == 0)
- {
- return false;
- }
- Vector headersList =
- XMLUtils.getChildElements((Element) soapHeaders.item(0));
-
- for (int indexHeader = 0;
- indexHeader < headersList.size();
- indexHeader++)
- {
- Element soapHeaderPart = (Element) headersList.get(indexHeader);
- if (soapHeaderPart != null)
- {
- QName soapHeaderPartQName =
- new QName(
- soapHeaderPart.getNamespaceURI(),
- soapHeaderPart.getLocalName());
- if ((partTypeName != null
- && partTypeName.equals(soapHeaderPartQName))
- || (partElementName != null
- && partElementName.equals(soapHeaderPartQName)))
- {
- return true;
- }
- }
- }
-
- return false;
- }
-
- /**
- * Gets message by QName.
- * @param entryContext
- * @param messageName
- * @return Message
- */
- private Message getMessageByQName(
- EntryContext entryContext,
- QName messageName)
- {
- Definition[] defs = validator.analyzerContext.getCandidateInfo().getDefinitions();
- for (int i = 0; i < defs.length; i++)
- {
- Message msg = defs[i].getMessage(messageName);
- if (msg != null)
- return msg;
- }
- return null;
- }
-
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1011.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1011.java
deleted file mode 100644
index 3a37ab6c9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1011.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * BP1011.
- */
-public class BP1011 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1011(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // TODO need to handle soap with attachments
- if (entryContext.getMessageEntry().isMimeContent())
- throw new AssertionNotApplicableException();
-
- Binding[] bindings = validator.analyzerContext.getCandidateInfo().getBindings();
-
- // get soap message child name
- // Get the DOM contents of the message soap:body (if non-empty)
- Document messageDoc = null;
-
- QName messagePartElementQName = null;
-
- if (!entryContext.getMessageEntry().getMessage().equals(""))
- {
- messageDoc = entryContext.getMessageEntryDocument();
- //messageDoc = XMLUtils.parseXML(entryContext.getMessageEntry().getMessage(),
- // WSIProperties.DEF_SOAP_SCHEMA);
- // get soap operation name from the soap:body
-
- // NOTE: getSoapBodyChild() may return null, if the soap:body did not contain any child elements
- Element soapMessageElement = validator.getSoapBodyChild(messageDoc);
-
- // for doc-lit... find the wsdl:part from one of the specified operations that has
- // the soap element used in the message.
- // we are looking for a part with an element attrib val matching the soap message element
- if (soapMessageElement != null)
- {
- messagePartElementQName =
- new QName(
- soapMessageElement.getNamespaceURI(),
- soapMessageElement.getLocalName());
- }
- }
-
- if ((messageDoc == null) || this.validator.isFault(messageDoc))
- {
- // empty messages and fault messages do not qualify for this TA
- throw new AssertionNotApplicableException();
- }
-
- // look for match(s) in doc operations
- // if found, we're done, else
- // look for match(s) in rpc operations
-
- /* Doc-lit
- * get list of operations (from candidates) for which the first soap:body child QName is the
- * <part element="..."> value of that operation's <wsdl:input> or <wsdl:output> element (depending
- * on whether message is a request or a response).
- */
-
- BindingOperation[] docBindingOperations =
- validator.getMatchingBindingOps(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC,
- bindings);
- // list of operations that match the <wsdl:input> or <wsdl:output> (depending on entryType)
- // for part element="..."
- // (ISSUE: what about part type="..."?)
- BindingOperation[] potentialDocLitOps =
- validator.getDocLitOperations(
- entryContext.getEntry().getEntryType(),
- messagePartElementQName,
- docBindingOperations);
- if (potentialDocLitOps.length != 0)
- {
- // found at least one doc lit match
-
- // *** Now we know it's document-literal, schema-validate the SOAP payload accordingly
- try
- {
- this.validator.messageIsDocLitSchemaValid(entryContext);
- }
- catch (Exception e)
- {
- throw new AssertionFailException(e.getMessage());
- }
- throw new AssertionPassException();
- }
-
- /* soap message is not doc-lit so try :
- * Rpc-lit
- */
- BindingOperation[] rpcBindingOperations =
- this.validator.getMatchingBindingOps(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
- bindings);
-
- // Determine if there is an operation match
- BindingOperation rcpOpMatch =
- this.validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- messageDoc,
- rpcBindingOperations);
- if (rcpOpMatch != null)
- {
- // Determine if the parts match
- rcpOpMatch =
- this.validator.getOperationPartsMatch(
- entryContext.getEntry().getEntryType(),
- messageDoc,
- rpcBindingOperations);
- }
-
- if (rcpOpMatch == null)
- {
- //not matched with rpc either. Prepare assertion failure.
- StringBuffer rpcOperationList = new StringBuffer();
- for (int i = 0; i < rpcBindingOperations.length; i++)
- {
- rpcOperationList.append(rpcBindingOperations[i].toString() + "\n");
- }
-
- StringBuffer docOperationList = new StringBuffer();
- for (int i = 0; i < docBindingOperations.length; i++)
- {
- docOperationList.append(docBindingOperations[i].toString() + "\n");
- }
-
- throw new AssertionFailException(
- "--MESSAGE:\n"
- + entryContext.getMessageEntry().getMessage()
- + "\n--CANDIDATE RPC STYLE OPERATIONS ("
- + (rpcBindingOperations.length != 0
- ? (rpcBindingOperations.length + "):\n" + rpcOperationList)
- : "NONE)")
- + "\n--CANDIDATE DOCUMENT STYLE OPERATIONS ("
- + (docBindingOperations.length != 0
- ? (docBindingOperations.length + "):\n" + docOperationList)
- : "NONE)"));
-
- }
- }
- catch (AssertionPassException e)
- {
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
-
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1012.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1012.java
deleted file mode 100644
index 115d4efe4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1012.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1012.
- */
-public class BP1012 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1012(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // look for <soap:Envelope> elements:
- // (Note: since this is a Soap message we expect exactly one soap envelope, but we do not assume it).
- Document requestDoc = entryContext.getRequestDocument();
-
- // message is empty or invalid, the assertion is not applicable
- if (requestDoc == null)
- throw new AssertionNotApplicableException();
-
- Element envElem = requestDoc.getDocumentElement();
- //NodeList soapEnvList = requestDoc.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Envelope");
-
- // If the document element tag name is not Envelope
- // or the namespace is http://schemas.xmlsoap.org/soap/envelope/
- if (!envElem.getLocalName().equals(XMLUtils.SOAP_ELEM_ENVELOPE)
- || envElem.getNamespaceURI().equals(WSIConstants.NS_URI_SOAP))
- // Request contains proper soap Envelope element
- throw new AssertionNotApplicableException();
-
- // we expect a Soap Fault as a response
- Document responseDoc =
- XMLUtils.parseXML(entryContext.getResponse().getMessage());
- NodeList soapFaultList =
- responseDoc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- "Fault");
- // ADD extra check here that the <soap:Fault> is a child of <soap:Envelope> ??
- if ((soapFaultList == null) || (soapFaultList.getLength() == 0))
- {
- // No Soap fault found.
- // Assertion failed (ADD highlight the child here ?)
- throw new AssertionFailException(
- "--- REQUEST:\n"
- + entryContext.getRequest().getMessage()
- + "\n--- RESPONSE:\n"
- + entryContext.getResponse().getMessage());
- }
-
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1013.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1013.java
deleted file mode 100644
index eb6f8eb54..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1013.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-
-
-/**
- * BP1013.
- */
-public class BP1013 extends BP1011
-{
- /**
- * @param BaseMessageValidator
- */
- public BP1013(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1031.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1031.java
deleted file mode 100644
index cfbdafbc0..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1031.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-
-/**
- * BP1031.
- *
- * @author: Graham Turrell, IBM UK
- */
-public class BP1031 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1031(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- failureDetail = null;
- try
- {
- Document doc;
- // Check if this is one way response
- // or message is mepty or invalid
- if (this.validator.isOneWayResponse(entryContext)
- || (doc = entryContext.getMessageEntryDocument()) == null)
- {
- throw new AssertionNotApplicableException();
- }
-
- if (!this.validator.isFault(doc))
- {
- throw new AssertionNotApplicableException();
- }
-
- NodeList faultCodes = doc.getElementsByTagName("faultcode");
- for (int i = 0; i < faultCodes.getLength(); i++)
- {
- NodeList faultCodeNodes = (faultCodes.item(i)).getChildNodes();
- for (int j = 0; j < faultCodeNodes.getLength(); j++)
- {
- if (faultCodeNodes.item(j) instanceof Text)
- {
- Text faultCodeText = (Text) faultCodeNodes.item(j);
- if (faultCodeText.getData().indexOf('.') > 0)
- {
- throw new AssertionFailException();
- // dotted notation used.
- }
- }
- }
- }
-
- throw new AssertionPassException();
- // no dotted notation used in a faultcode element
- }
- catch (AssertionPassException e)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail =
- this.validator.createFailureDetail(
- entryContext.getMessageEntry().getMessage(),
- entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1032.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1032.java
deleted file mode 100644
index 47413072a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1032.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-
-
-/**
- * BP1032
- *
- * <context>For a candidate envelope</context>
- * <assertionDescription>The soap:Envelope, soap:Header, and soap:Body elements do not have any attributes in the namespace "http://schemas.xmlsoap.org/soap/envelope/"</assertionDescription>
- */
-public class BP1032 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1032(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- try
- {
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
-
- // If the message is empty or invalid, the assertion is not applicable
- if (doc == null)
- throw new AssertionNotApplicableException();
-
- // Getting a root element
- Element element = doc.getDocumentElement();
-
- // Assuming that root element should be soap:Envelope
- // If not, the assertion is not applicable
- if (!element.getLocalName().equals(XMLUtils.SOAP_ELEM_ENVELOPE))
- throw new AssertionNotApplicableException();
-
- // looking for any attribute of soap:Envelope in the namespace
- // "http://schemas.xmlsoap.org/soap/envelope/"
- // If at least one attribute is found, the assertion failed
- Attr attr = getAttribute(element.getAttributes());
- if (attr != null)
- throw new AssertionFailException("soap:Envelope attribute name is "
- + attr.getName());
-
- // Getting the first child of soap:Envelope
- element = XMLUtils.getFirstChild(element);
-
- // If the child is soap:Header
- if (element != null
- && element.getLocalName().equals(XMLUtils.SOAP_ELEM_HEADER))
- {
- // looking for any attribute of soap:Header in the namespace
- // "http://schemas.xmlsoap.org/soap/envelope/"
- // If at least one attribute is found, the assertion failed
- attr = getAttribute(element.getAttributes());
- if (attr != null)
- throw new AssertionFailException("soap:Header attribute name is "
- + attr.getName());
-
- // Moving to the next soap:Envelope child
- element = XMLUtils.getNextSibling(element);
- }
-
- // If the child is soap:Body
- if (element != null
- && element.getLocalName().equals(XMLUtils.SOAP_ELEM_BODY))
- {
- // looking for any attribute of soap:Body in the namespace
- // "http://schemas.xmlsoap.org/soap/envelope/"
- // If at least one attribute is found, the assertion failed
- attr = getAttribute(element.getAttributes());
- if (attr != null)
- throw new AssertionFailException("soap:Body attribute name is "
- + attr.getName());
- }
-
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Looks for an attribute that is in the namespace
- * http://schemas.xmlsoap.org/soap/envelope/
- * @param attrs a collection of attributes
- * @return an attribute in the specified namespace or null
- */
- private Attr getAttribute(NamedNodeMap attrs)
- {
- Attr ret = null;
- if (attrs != null)
- {
- for(int i = 0; i < attrs.getLength(); i++)
- {
- Attr attr = (Attr) attrs.item(i);
- if (attr.getNamespaceURI() != null
- && attr.getNamespaceURI().equals(WSIConstants.NS_URI_SOAP))
- {
- ret = attr;
- break;
- }
- }
- }
-
- return ret;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1033.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1033.java
deleted file mode 100644
index 12ec8a11b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1033.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * BP1033
- *
- * <context>For a candidate envelope</context>
- * <assertionDescription>The SOAP envelope does not contain the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace".</assertionDescription>
- */
-public class BP1033 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1033(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
- // If the message is empty or invalid, the assertion is not applicable
- if (doc == null)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Getting the root element
- Element elem = doc.getDocumentElement();
- // If it is not the soap:Envelope, the assertion is not applicable
- if (!elem.getNamespaceURI().equals(WSIConstants.NS_URI_SOAP)
- || !elem.getLocalName().equals(XMLUtils.SOAP_ELEM_ENVELOPE))
- {
- throw new AssertionNotApplicableException();
- }
-
- // If the envelope contains the xmlns:xml namespace declaration,
- // the assertion failed
- String incorrectElementName = getIncorrectElementName(elem);
- if (incorrectElementName != null)
- {
- throw new AssertionFailException("The name of an element containing "
- + "such namespace declaration is \"" + incorrectElementName + "\".");
- }
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Looks for any element that contains the attribute xmlns:xml="http://www.w3.org/XML/1998/namespace".
- * @param elem the root element.
- * @return the name of an element found or null.
- */
- private String getIncorrectElementName(Element elem)
- {
- // Getting a value of the attribute xmlns:xml
- String attrValue = elem.getAttributeNS(
- WSIConstants.NS_URI_XMLNS, "xml");
- // If it equals to "http://www.w3.org/XML/1998/namespace",
- // return an element name;
- if (WSIConstants.NS_URI_XML.equals(attrValue))
- {
- return elem.getNodeName();
- }
- // Going through element's children
- Element child = XMLUtils.getFirstChild(elem);
- while (child != null)
- {
- // If any of them has xmlns:xml attribute, return a value
- String name = getIncorrectElementName(child);
- if (name != null)
- {
- return name;
- }
- // Getting the next element's child
- child = XMLUtils.getNextSibling(child);
- }
- // No xmlns:xml attributes found, return null
- return null;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1100.java
deleted file mode 100644
index 12bad72bf..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1100.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1100.
- * A message that does not contain a SOAP fault SHOULD use a "200 OK"
- * HTTP status code.
- */
-public class BP1100 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1100(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- if (this.validator.isOneWayResponse(entryContext))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // look for <soap:Fault> element:
- Document doc = entryContext.getMessageEntryDocument();
- if (doc == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- Element root = doc.getDocumentElement();
- NodeList faultList =
- root.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Fault");
-
- // If response does not contain a soap:Fault, then check it
- if ((faultList == null) || (faultList.getLength() == 0))
- {
- // Response does not contain a soap:Fault
- // check HTTP status code
- String httpStatus =
- Utils.getHTTPStatusCode(
- entryContext.getMessageEntry().getHTTPHeaders());
- if (!"200".equals(httpStatus))
- {
- result = AssertionResult.RESULT_WARNING;
- //failureDetailMessage = entryContext.getMessageEntry().getMessage();
- failureDetail =
- this.validator.createFailureDetail(
- "\nResponse message:\nHeaders:\n"
- + entryContext.getMessageEntry().getHTTPHeaders()
- + "\nMessage:\n"
- + entryContext.getMessageEntry().getMessage(),
- entryContext);
- }
- }
-
- // If it is a soap:Fault, then the result must be notApplicable
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1107.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1107.java
deleted file mode 100644
index 11c86917d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1107.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import java.io.StringWriter;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.wsdl.Fault;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.NullUtil;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.util.WSDLUtil;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * BP1107.
- * The contained soapbind:fault is defined in the wsdl:binding.
- */
-public class BP1107 extends AssertionProcessVisitor
-{
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1107(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private OperationSignature responseSig = null;
- private Vector faults = null;
-
- /**
- * @see org.eclipse.wst.wsi.wsdl.traversal.WSDLVisitor#visit(SOAPFault, Object, WSDLTraversalContext)
- */
- public void visit(SOAPFault fault, Object parent, WSDLTraversalContext ctx)
- {
- String faultName = fault.getName();
-
- if (faultName == null)
- faultName = ctx.getBindingFault().getName();
-
- Operation op = ctx.getBindingOperation().getOperation();
- if (op == null /* || faultName == null*/
- ) // may be it's possible to have legal fault with null name
- return;
-
- // we suppose that SOAPFault.getName() corresponds to the abstract operation's fault name
- Fault f = op.getFault(faultName);
- if (f == null)
- return;
-
- Message m = f.getMessage();
- // message should have only one part
- if (m == null || m.getParts() == null || m.getParts().size() != 1)
- return;
-
- //Part faultPart = WSDLUtil.getPart(m, faultName);
- Part faultPart = (Part) m.getParts().values().iterator().next();
-
- TypesRegistry tReg = (TypesRegistry) ctx.getParameter("TypesRegistry");
- QName elemQName = faultPart.getElementName();
- QName typeQName = faultPart.getTypeName();
- if (typeQName == null)
- typeQName = tReg.getType(faultPart.getElementName());
- if (typeQName == null)
- throw new IllegalArgumentException("Part type can not be null.");
-
- // for all faults; if it presents in the definition remove it from list
- for (int i = 0; i < faults.size();)
- {
- Element elem = (Element) faults.get(i);
-
- // TODO: I don't understand why this is here. Only the element setting should be checked.
- //boolean matchByType =
- // elem.getLocalName().equals(typeQName.getLocalPart()) && NullUtil.equals(elem.getNamespaceURI(), typeQName.getNamespaceURI());
-
- boolean matchByElement =
- elemQName != null
- && elem.getLocalName().equals(elemQName.getLocalPart())
- && NullUtil.equals(
- elem.getNamespaceURI(),
- elemQName.getNamespaceURI());
-
- //if (matchByType || matchByElement)
- if (matchByElement)
- faults.remove(i);
- else
- i++;
- }
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- if (this.validator.isOneWayResponse(entryContext))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // Parse request and response message
- Document docRequest = entryContext.getRequestDocument();
- Document docResponse = entryContext.getMessageEntryDocument();
-
- if ((docRequest == null) || (docResponse == null))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else if (!this.validator.isFault(docResponse))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // create request signature
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- docRequest,
- this.validator.getSoapAction(entryContext.getRequest().getHTTPHeaders()),
- validator.analyzerContext.getCandidateInfo().getBindings()[0],
- new TypesRegistry(
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions(),
- validator));
-
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- if (match != null)
- {
- // MOVED: Parse response message
- //doc = entryContext.getMessageEntryDocument();
-
- responseSig = new OperationSignature(docResponse);
- if (WSIConstants
- .ATTRVAL_SOAP_BIND_STYLE_RPC
- .equals(match.getOperationStyle()))
- responseSig.createRPCSignature();
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitSOAPFault(true);
- traversal.ignoreBindingInput();
- traversal.ignoreBindingOutput();
-
- if (responseSig == null || !responseSig.isFault())
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else if (responseSig != null && responseSig.isFault())
- {
- // extract all faults and try find them in the definition
- // extracts only faults with namespace
- Element body =
- XMLUtils.findChildElement(
- docResponse.getDocumentElement(),
- WSITag.ELEM_SOAP_BODY);
- Element fault =
- XMLUtils.findChildElement(body, WSITag.ELEM_SOAP_FAULT);
- Element detail = XMLUtils.getElement("detail", fault);
- if (detail == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- result = AssertionResult.RESULT_PASSED;
-
- faults = XMLUtils.getChildElements(detail);
-
- // REMOVE: Why do the faults have to be namespaced qualified?
- //XMLUtils.removeAllElementsWithoutNS(faults);
-
- // if faults exist try to validate it
- if (faults.size() > 0)
- {
- Map m = new HashMap();
- WSDLUtil.expandDefinition(
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions());
- m.put(
- "definition",
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions());
- TypesRegistry tReg =
- new TypesRegistry(
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions(),
- validator);
- m.put("TypesRegistry", tReg);
- traversal.traverse(match.getOperation(), m);
- if (faults.size() > 0)
- {
- result = AssertionResult.RESULT_WARNING;
- StringWriter sw = new StringWriter();
- for (int i = 0; i < faults.size(); i++)
- {
- try
- {
- XMLUtils.serializeElement((Element) faults.get(i), sw);
- }
- catch (Exception e)
- {
- }
- }
- try
- {
- sw.close();
- }
- catch (Exception e)
- {
- }
- failureDetail =
- this.validator.createFailureDetail(
- "\nFaults:\n" + sw.toString(),
- entryContext);
- }
- else
- result = AssertionResult.RESULT_PASSED;
- }
- }
- }
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1201.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1201.java
deleted file mode 100644
index 7af6934b4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1201.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * BP1201.
- * The namespace of the soap:Envelope in the message has value: http://schemas.xmlsoap.org/soap/envelope/.
- */
-public class BP1201 extends AssertionProcess implements WSITag
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1201(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- Document doc;
- // Check if this is one way response or message is mepty or invalid
- if (this.validator.isOneWayResponse(entryContext) ||
- (doc = entryContext.getMessageEntryDocument()) == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- Element root = doc.getDocumentElement();
- String ns = root.getNamespaceURI();
- String local = root.getLocalName();
- if (!ELEM_SOAP_ENVELOPE.getNamespaceURI().equals(ns))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- "Root element has namespace: " + ns, entryContext);
- }
-
- else if (!ELEM_SOAP_ENVELOPE.getLocalPart().equals(local))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- "Root element has local name: " + local, entryContext);
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1202.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1202.java
deleted file mode 100644
index a5abee105..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1202.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1202.
- * Each child element (if any) of the soap:Body element is namespace qualified (not the grandchildren).
- */
-public class BP1202 extends AssertionProcess implements WSITag
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1202(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Parse log message
- Document doc = entryContext.getMessageEntryDocument();
-
- if (validator.isOneWayResponse(entryContext))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Check if there is a soap body element
- else if (!validator.containsSoapBodyWithChild(doc))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // Get the root element
- Element root = doc.getDocumentElement();
-
- // Get a node list which should contain the soap:Body element
- NodeList rootNodeList = root.getElementsByTagNameNS(
- ELEM_SOAP_BODY.getNamespaceURI(), ELEM_SOAP_BODY.getLocalPart());
-
- // If there is at least one soap:Body element,
- // then make sure that each child is namespace qualified
- if (rootNodeList.getLength() > 0)
- {
- // Get the soap:Body element
- Element body = (Element) rootNodeList.item(0);
-
- // Get the list of soap:Body child elements
- NodeList children = body.getChildNodes();
-
- // Make sure that each child element is namespace qualified
- for (int i = 0;
- i < children.getLength() && result == AssertionResult.RESULT_PASSED;
- ++i)
- {
- Node n = children.item(i);
- if (n instanceof Element)
- {
- String ns = n.getNamespaceURI();
- if (ns == null || ns.length() == 0)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- entryContext.getMessageEntry().getMessage(), entryContext);
- }
- }
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1203.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1203.java
deleted file mode 100644
index 8470acb61..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1203.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1203.
- * The namespace of the detail element of a qualified attribute in the soap:Fault is a
- * foreign namespace, different from "http://schemas.xmlsoap.org/soap/envelope/".
- */
-public class BP1203 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1203(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- boolean qualifiedAttributes = false;
-
- Document doc;
- // Check if this is one way response or message is mepty or invalid
- if (this.validator.isOneWayResponse(entryContext)
- || (doc = entryContext.getMessageEntryDocument()) == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // ADD: Need to determine if this check is required, since it should already be done
- // Applicable to response messages only
- if (entryContext
- .getMessageEntry()
- .getType()
- .equalsIgnoreCase(MessageEntry.TYPE_RESPONSE))
- {
- // look for <soap:Fault> element:
- NodeList faultList =
- doc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_FAULT);
- if ((faultList == null) || (faultList.getLength() == 0))
- {
- // Response does not contain a soap:Fault
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // we have a soap:Fault.
- else
- {
- try
- {
- // look at each soap:Fault in turn
- for (int i = 0; i < faultList.getLength(); i++)
- {
- Element soapFault = (Element) faultList.item(i);
- // find the detail element(s) if any
- NodeList detailList =
- soapFault.getElementsByTagName(XMLUtils.SOAP_ELEM_FAULT_DETAIL);
- if (detailList != null)
- {
- // for each detail element...
- for (int j = 0; j < detailList.getLength(); j++)
- {
- NamedNodeMap detailAttribs =
- detailList.item(j).getAttributes();
- // check for any qualified attributes
- if (detailAttribs != null)
- {
- for (int k = 0; k < detailAttribs.getLength(); k++)
- {
- Attr nextAttr = (Attr) (detailAttribs.item(k));
- // for each qualified attribute, check that
- // qname != http://schemas.xmlsoap.org/soap/envelope
- if (nextAttr.getNamespaceURI() != null)
- {
- qualifiedAttributes = true;
- if (nextAttr
- .getNamespaceURI()
- .equals(WSIConstants.NS_URI_SOAP))
- {
- // found unexpected qname
- throw new AssertionFailException(
- entryContext.getMessageEntry().getMessage());
- }
- }
- }
- }
- }
- }
- }
-
- if (!qualifiedAttributes)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- }
- }
- else
- {
- // target message is not a Response
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1204.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1204.java
deleted file mode 100644
index 5bf480deb..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1204.java
+++ /dev/null
@@ -1,302 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1204.
- * The serialized array form in the message does not contain the
- * soapenc:arrayType attribute.
- *
- */
-public class BP1204 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1204(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
-
- if (this.validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
-
- // Parse message
- Document doc =
- XMLUtils.parseXML(entryContext.getMessageEntry().getMessage());
-
- if (this.validator.isFault(doc))
- {
- throw new AssertionPassException();
- }
-
- // Parse request message
- Document docRequest =
- XMLUtils.parseXML(entryContext.getRequest().getMessage());
-
- // get SOAPAction
- String headers = entryContext.getRequest().getHTTPHeaders();
- String action = null;
- if (headers != null)
- action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
-
- Binding binding = validator.analyzerContext.getCandidateInfo().getBindings()[0];
- TypesRegistry registry =
- new TypesRegistry(
- this.validator.getWSDLDocument().getDefinitions(),
- validator);
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- docRequest,
- action,
- binding,
- registry);
-
- if (match == null)
- throw new AssertionPassException();
-
- BindingOperation bindingOperation = match.getOperation();
-
- Message operationMessage = null;
- if (MessageEntry
- .TYPE_REQUEST
- .equals(entryContext.getMessageEntry().getType())
- && (bindingOperation.getOperation().getInput() != null))
- {
- operationMessage =
- bindingOperation.getOperation().getInput().getMessage();
- }
- else
- {
- if (MessageEntry
- .TYPE_RESPONSE
- .equals(entryContext.getMessageEntry().getType())
- && (bindingOperation.getOperation().getOutput() != null))
- {
- operationMessage =
- bindingOperation.getOperation().getOutput().getMessage();
- }
- }
-
- if (operationMessage == null)
- throw new AssertionPassException();
-
- boolean isContainArray = false;
-
- Collection parts = operationMessage.getParts().values();
- for (Iterator iter = parts.iterator(); iter.hasNext();)
- {
- Part part = (Part) iter.next();
-
- QName type = null;
-
- if (part.getTypeName() == null)
- {
- type = registry.getType(part.getElementName());
- }
- else
- {
- type = part.getTypeName();
- }
-
- isContainArray =
- registry.isExtendsArray(type)
- || registry.isUsesWSDLArrayType(type)
- || isArrayType(type);
- if (isContainArray)
- break;
- }
-
- if (isContainArray)
- {
- // Gets body
- NodeList soapBodyList =
- doc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_BODY);
- if (soapBodyList.getLength() == 0 || soapBodyList.getLength() > 1)
- {
- throw new AssertionFailException();
- }
-
- Element soapBodyElem = (Element) soapBodyList.item(0);
-
- NodeList soapBodyCildrenList =
- soapBodyElem.getElementsByTagNameNS("*", "*");
- for (int indexChild = 0;
- indexChild < soapBodyCildrenList.getLength();
- indexChild++)
- {
- Element elem = (Element) soapBodyCildrenList.item(indexChild);
- if (elem
- .hasAttributeNS(
- WSIConstants.NS_URI_SOAP_ENCODING,
- WSIConstants.ATTR_ARRAY_TYPE))
- {
- throw new AssertionFailException();
- }
- }
-
- throw new AssertionPassException();
- }
- else
- {
- throw new AssertionPassException();
- }
-
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- entryContext.getMessageEntry().getMessage(),
- entryContext);
- }
- catch (AssertionPassException e)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /**
- * Checks whether type uses an array or not.
- * @param type
- * @return boolean
- */
- private boolean isArrayType(QName type)
- {
- boolean arrayType = false;
-
- Element typeElement = getTypeElement(type);
- if (typeElement != null)
- {
- NodeList list =
- typeElement.getElementsByTagNameNS(
- WSIConstants.NS_URI_XSD,
- "sequence");
- if (list.getLength() > 0)
- arrayType = true;
- }
-
- return arrayType;
- }
-
- /**
- * Gets XML element defining the type.
- * @param type
- * @return Element
- */
- private Element getTypeElement(QName type)
- {
- Types[] allTypes = validator.analyzerContext.getCandidateInfo().getTypes();
- for (int i = 0; allTypes != null && i < allTypes.length; i++)
- {
- Element typesElement = null;
- if (allTypes[i] != null)
- {
- typesElement = allTypes[i].getDocumentationElement();
- if (typesElement == null)
- {
- List extList = allTypes[i].getExtensibilityElements();
- for (Iterator iter = extList.iterator(); iter.hasNext();)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) iter.next();
-
- if (extElem
- .getElementType()
- .equals(new QName(WSIConstants.NS_URI_XSD, "schema")))
- {
- typesElement =
- ((UnknownExtensibilityElement) extElem).getElement();
- break;
- }
- }
- }
- if (typesElement != null)
- {
- NodeList complexTypesList =
- typesElement.getElementsByTagNameNS(
- WSIConstants.NS_URI_XSD,
- "complexType");
- for (int j = 0; j < complexTypesList.getLength(); j++)
- {
- Element typeElem = (Element) complexTypesList.item(j);
- if (type.getLocalPart().equals(typeElem.getAttribute("name")))
- {
- return typeElem;
- }
- }
-
- }
- }
- }
- return null;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1208.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1208.java
deleted file mode 100644
index a26af9236..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1208.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLTraversal;
-import org.w3c.dom.Document;
-import org.w3c.dom.ProcessingInstruction;
-
-
-/**
- * BP1208 NOT FULLY TESTED.
- */
-public class BP1208 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1208(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Parse log message
- Document doc = entryContext.getMessageEntryDocument();
- if (doc == null) {
- //message is empty or invalid, the assertion is not applicable
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- } else {
-
- // Traverse document looking for processing instructions.
- // ISSUE: this inner class needs ... revisiting/replacing
- // EG. Do we want to list all processing instructions,
- // or is the first sufficient?
- XMLTraversal traversal = new XMLTraversal()
- {
- public void visit(ProcessingInstruction pi)
- {
- try
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "Target: " + pi.getTarget() + ", Data: " + pi.getData();
- }
- catch (Exception e)
- {
- // ADD: How should this exception be handled?
- }
-
- super.visit(pi);
- }
- };
-
- traversal.visit(doc);
-
- if (result == AssertionResult.RESULT_FAILED
- && failureDetailMessage != null)
- {
- failureDetail = this.validator.createFailureDetail(failureDetailMessage, entryContext);
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1211.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1211.java
deleted file mode 100644
index 69133b820..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1211.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLUtils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLTags;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * BP1211.
- *
- * Context:
- * For a candidate message in the message log file, that is referred by a binding style RPC-literal
- *
- * Description:
- * Part accessor elements in the message do not have an xsi:nil attribute with a value of "1" or "true".
- */
-public class BP1211 extends AssertionProcess implements XMLTags
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1211(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
-
- // Parse message
- Document doc = entryContext.getMessageEntryDocument();
- Document docRequest = entryContext.getRequestDocument();
-
- Element soapOperation = null;
- // If there is a Fault entry or no body entries,
- // the assertion is not applicable
- if (validator.isFault(doc)
- || (soapOperation = validator.getSoapBodyChild(doc)) == null)
- throw new AssertionNotApplicableException();
-
- // Get SOAPAction
- String headers = entryContext.getRequest().getHTTPHeaders();
- String action = null;
- if (headers != null)
- action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
-
- // Get the binding that is being processed
- Binding binding = validator.analyzerContext.getCandidateInfo().getBindings()[0];
-
- //Create the types registry
- TypesRegistry registry =
- new TypesRegistry(
- this.validator.getWSDLDocument().getDefinitions(),
- validator);
-
- // Find an operation match
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- docRequest,
- action,
- binding,
- registry);
- if (match == null)
- throw new AssertionNotApplicableException();
-
- // Get the binding operation based on the match
- BindingOperation bindingOperation = match.getOperation();
-
- // If this is not rpc-literal, then return notApplicable result
- if (!WSDLUtils
- .isRpcLiteral(match.getOperationStyle(), bindingOperation))
- throw new AssertionNotApplicableException();
-
- // Going through all the accessors
- Element accessor = XMLUtils.getFirstChild(soapOperation);
- while (accessor != null)
- {
- Attr attr = XMLUtils.getAttribute(accessor, ATTR_XSI_NIL);
- // If there is xsi:nil attribute and its value is "1" or "true"
- // the assertion failed
- if (attr != null
- && (attr.getValue().equals("1") || attr.getValue().equals("true")))
- {
- throw new AssertionFailException("The accessor name is "
- + accessor.getNodeName());
- }
- // Getting the next accessor
- accessor = XMLUtils.getNextSibling(accessor);
- }
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1212.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1212.java
deleted file mode 100644
index 8c1f77280..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1212.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * BP1212
- *
- * <context>For a candidate non-fault envelope containing a soap:body with at least one element</context>
- * <assertionDescription>The envelope contains exactly one part accessor element for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element.</assertionDescription>
- */
-public class BP1212 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1212(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
-
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
-
- Element soapOperation = null;
- // If there is a Fault entry or no body entries,
- // the assertion is not applicable
- if (validator.isFault(doc)
- || (soapOperation = validator.getSoapBodyChild(doc)) == null)
- throw new AssertionNotApplicableException();
-
- // Creating a qualified name of potential SOAP operation
- QName operationQName = new QName(
- soapOperation.getNamespaceURI(), soapOperation.getLocalName());
-
- // Retrieving all the RPC binding operations from wsdl:binding
- BindingOperation[] rpcBindingOperations =
- validator.getMatchingBindingOps(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
- validator.analyzerContext.getCandidateInfo().getBindings());
-
- // Retrieving binding operation by given operation name
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- operationQName,
- rpcBindingOperations);
-
- // If there is no matched operation, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
-
- // Finding operation message parts and extensibility elems
- // in the binding depending on message type
- List operationMessageParts = null;
- List extElems = null;
- if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_REQUEST))
- {
- operationMessageParts = bindingOperation.getOperation()
- .getInput().getMessage().getOrderedParts(null);
- if (bindingOperation.getBindingInput() != null)
- extElems =
- bindingOperation.getBindingInput().getExtensibilityElements();
- }
- else
- {
- operationMessageParts = bindingOperation.getOperation()
- .getOutput().getMessage().getOrderedParts(null);
- if (bindingOperation.getBindingOutput() != null)
- extElems =
- bindingOperation.getBindingOutput().getExtensibilityElements();
- }
-
- // Getting all the accessors of the operation element
- List accessors = XMLUtils.getChildElements(soapOperation);
- // Getting the ordered list of wsdl:part names
- List orderedPartNames =
- validator.orderPartNames(operationMessageParts, extElems);
- // Going through all the wsdl:part names
- Iterator i = orderedPartNames.iterator();
- while (i.hasNext())
- {
- String partName = (String) i.next();
- // If there is not exactly one accessor for the part specified,
- // the assertion failed
- if (getPartsCount(accessors, partName) != 1)
- throw new AssertionFailException(
- "The name of wsdl:part is " + partName);
- }
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Counts the amount of accessors of a specific name
- * @param accessors a list of accessors
- * @param name the name of accessor elements to be counted
- * @return
- */
- private int getPartsCount(List accessors, String name)
- {
- int count = 0;
-
- for (int i = 0; i < accessors.size(); i++)
- {
- Element accessor = (Element) accessors.get(i);
- if (accessor.getLocalName().equals(name))
- count++;
- }
-
- return count;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1213.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1213.java
deleted file mode 100644
index 555d8463c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1213.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * BP1213
- *
- * <context>For a candidate non-fault envelope containing a soap:Body element, and is referred by a doc-literal binding</context>
- * <assertionDescription>The envelope has no element content in the soap:Body element if the value of the parts attribute of the soapbind:body is an empty string in the corresponding doc-literal description.</assertionDescription>
- */
-public class BP1213 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1213(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
-
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
-
- Element messageElement = null;
- // If the message is empty or invalid or there is a Fault entry
- // or there is no body entries, the assertion is not applicable
- if (doc == null
- || validator.isFault(doc)
- || (messageElement = validator.getSoapBodyChild(doc)) == null)
- throw new AssertionNotApplicableException();
-
- // Getting a qualified name of message element
- QName messagePartElementQName = new QName(
- messageElement.getNamespaceURI(), messageElement.getLocalName());
-
- // Retrieving all the document binding operations from wsdl:binding
- BindingOperation[] docBindingOperations =
- validator.getMatchingBindingOps(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC,
- validator.analyzerContext.getCandidateInfo().getBindings());
-
- // Retrieving binding operation by given element name
- BindingOperation[] potentialDocLitOps =
- validator.getDocLitOperations(
- entryContext.getEntry().getEntryType(),
- messagePartElementQName,
- docBindingOperations);
-
- // If there is not exactly one operation matched,
- // the assertion is not applicable
- if (potentialDocLitOps.length != 1)
- throw new AssertionNotApplicableException();
-
- // Finding operation extensibility elems
- // in the binding depending on message type
- List extElems = null;
- if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_REQUEST)
- && potentialDocLitOps[0].getBindingInput() != null)
- {
- extElems = potentialDocLitOps[0]
- .getBindingInput().getExtensibilityElements();
- }
- else if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_RESPONSE)
- && potentialDocLitOps[0].getBindingOutput() != null)
- {
- extElems = potentialDocLitOps[0]
- .getBindingOutput().getExtensibilityElements();
- }
-
- // Getting the parts attribute from soapbind:body
- List parts = null;
- SOAPBody soapBody = validator.getSOAPBody(extElems);
- if (soapBody != null)
- parts = soapBody.getParts();
-
- // if the parts attribute is an empty string and there is
- // at least one accessor, the assertion failed
- if (parts != null && parts.isEmpty()
- && !XMLUtils.getChildElements(messageElement).isEmpty())
- throw new AssertionFailException("wsdl:operation name is "
- + potentialDocLitOps[0].getName());
-
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1214.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1214.java
deleted file mode 100644
index ada1346ee..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1214.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * BP1214
- *
- * <context>For a candidate non-fault envelope containing a soap:Body element, and is referred by a rpc-literal binding</context>
- * <assertionDescription>The envelope does not contain any part accessor elements if the value of the parts attribute of the soapbind:body is an empty string in the corresponding rpc-literal description.</assertionDescription>
- */
-public class BP1214 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1214(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
-
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
-
- Element soapOperation = null;
- // If there is a Fault entry or no body entries,
- // the assertion is not applicable
- if (validator.isFault(doc)
- || (soapOperation = validator.getSoapBodyChild(doc)) == null)
- throw new AssertionNotApplicableException();
-
- // Creating a qualified name of potential SOAP operation
- QName operationQName = new QName(
- soapOperation.getNamespaceURI(), soapOperation.getLocalName());
-
- // Retrieving all the RPC binding operations from wsdl:binding
- BindingOperation[] rpcBindingOperations =
- validator.getMatchingBindingOps(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
- validator.analyzerContext.getCandidateInfo().getBindings());
-
- // Retrieving binding operation by given operation name
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- operationQName,
- rpcBindingOperations);
-
- // If there is no matched operation, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
-
- // Finding operation extensibility elems
- // in the binding depending on message type
- List extElems = null;
- if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_REQUEST)
- && bindingOperation.getBindingInput() != null)
- {
- extElems =
- bindingOperation.getBindingInput().getExtensibilityElements();
- }
- else if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_RESPONSE)
- && bindingOperation.getBindingOutput() != null)
- {
- extElems =
- bindingOperation.getBindingOutput().getExtensibilityElements();
- }
-
- // If the message is not literal, the assertion is not applicable
- if (!validator.isLiteral(extElems))
- throw new AssertionNotApplicableException();
-
- // Getting the parts attribute from soapbind:body
- List parts = null;
- SOAPBody soapBody = validator.getSOAPBody(extElems);
- if (soapBody != null)
- parts = soapBody.getParts();
-
- // if the parts attribute is an empty string and there is
- // at least one accessor, the assertion failed
- if (parts != null && parts.isEmpty()
- && !XMLUtils.getChildElements(soapOperation).isEmpty())
- throw new AssertionFailException("wsdl:operation name is "
- + bindingOperation.getName());
-
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1301.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1301.java
deleted file mode 100644
index 92a20c735..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1301.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1301.
- */
-public class BP1301 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1301(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- //Get the requets message and check the value of mustUnderstand.
- String message = entryContext.getMessageEntry().getMessage();
- Object[] mustUnderstandAttributes = getMustUnderstandAttributes(message);
-
- if (mustUnderstandAttributes == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- for (int index = 0; index < mustUnderstandAttributes.length; index++)
- {
- if ((mustUnderstandAttributes[index] != null)
- && (mustUnderstandAttributes[index].equals("1")
- || mustUnderstandAttributes[index].equals("0")))
- {
- result = AssertionResult.RESULT_PASSED;
- }
- else
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "The SOAP mustUnderstand attribute was present "
- + " and its value was "
- + mustUnderstandAttributes[index],
- entryContext);
- } //End if
- } //End for
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- //Retreives the value of the mustUnderstand attribute from ALL SOAP header
- //If the Header is missing or if it does not contain any targets or if
- //the header does not contain a mustUnderstand attribute then set the
- //assertionResult to RESULT_NOT_APPLICABLE.
- private Object[] getMustUnderstandAttributes(String message)
- throws WSIException
- {
- if (message == null || message.trim().equals("")) {
- return null;
- }
-
- Document doc = XMLUtils.parseXML(message);
- NodeList headers =
- doc.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Header");
-
- //If a header not present set result to notApplicable
- //else process each headerEntry
- if (headers.getLength() <= 0)
- {
- return null;
- }
- else
- {
- Vector mustUnderstandAttributes = new Vector();
- Element header = (Element) headers.item(0);
- if (header == null)
- return null;
-
- NodeList headerEntries = header.getChildNodes();
- //For each header entry check retreive the mustUnderstand attribute
- //if any, else set the test result to notApplicable
-
- //This is used to indicate if a header contained any child Elements
- boolean headerTargets = false;
-
- for (int index = 0; index < headerEntries.getLength(); ++index)
- {
- Node headerEntry = headerEntries.item(index);
- if (headerEntry.getNodeType() == Node.ELEMENT_NODE)
- {
- headerTargets = true;
- Attr mustUnderstand =
- ((Element) headerEntry).getAttributeNodeNS(
- WSIConstants.NS_URI_SOAP,
- "mustUnderstand");
- //Retreive the value of the mustUnderstand attribute of the request.
- if (mustUnderstand != null)
- {
- String mustUnderstandValue = mustUnderstand.getNodeValue();
- mustUnderstandAttributes.add(mustUnderstandValue);
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- //The SOAP Header does not contain a mustUnderstand attribute."
- } // mustUnderstand != null
- }
- } //End for
-
- if (!headerTargets)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- //The SOAP Header does not contain any header entries.
- }
-
- return mustUnderstandAttributes.toArray();
- } //End If headers.getLength() < 0
- }
-
- /**
- * Returns true if this object is must understand fault code.
- * @param faultCodeElem understand fault code.
- * @return true if this object is must understand fault code.
- */
- public boolean isMustUnderstandFaultCode(Element faultCodeElem)
- {
- //A faultcode may or maynot have a prefix, if it does its namespace should be
- //htt://schemas.xmlsoap.org/soap/envelope which is the same as the faultcode element.
- //If a prefix is present and it corresponds to a different namespace or is null
- //then this returns false. The local part of the faultcode is then check to see
- //if it is one of the permitted values.
- if (faultCodeElem == null)
- return false;
-
- String faultCode = faultCodeElem.getFirstChild().getNodeValue().trim();
- if (faultCode == null)
- return false;
-
- String faultCodeElemPrefix = faultCodeElem.getPrefix();
- String faultCodePrefix = faultCode.substring(0, faultCode.indexOf(':'));
- String faultCodeName =
- faultCode.substring(faultCode.indexOf(':') + 1, faultCode.length());
-
- if ((faultCodeElemPrefix != null || faultCodePrefix != null))
- {
- if (faultCodePrefix.equals(faultCodeElemPrefix)
- && (faultCodeName.equals("MustUnderstand")
- || faultCodeName.startsWith("MustUnderstand.")))
- return true;
- else
- return false;
- }
- else
- {
- if (faultCode.equals("MustUnderstand")
- || faultCodeName.startsWith("MustUnderstand."))
- return true;
- else
- return false;
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1302.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1302.java
deleted file mode 100644
index 63acd565a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1302.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1302.
- * The soap:faultcode value in the soap:Fault element of the response
- * message is not custom, and is one of: VersionMismatch, MustUnderstand, Client, Server.
- */
-public class BP1302 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1302(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- //SOAP fault code values should not be custom: only standard code qualifiers
- //are used: VersionMismatch, MustUnderstand, Client, Server
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- //String requestMessage = null;
- String responseMessage = null;
-
- if (this.validator.isOneWayResponse(entryContext))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- //Get the response message check the faultcode.
- MessageEntry logEntryResponse = entryContext.getResponse();
- if (logEntryResponse != null)
- {
- responseMessage = logEntryResponse.getMessage();
-
- Document targetDoc = XMLUtils.parseXML(responseMessage);
- NodeList faultCodes = targetDoc.getElementsByTagName("faultcode");
- // targetDoc.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "faultcode");
-
- if (faultCodes.getLength() <= 0)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- //No faultcode
-
- for (int i = 0; i < faultCodes.getLength(); i++)
- {
- Node faultCodeElem = faultCodes.item(i);
- //If the faultcode was MustUnderstand, check the value of
- //the mustUnderstand attribute in the request.
- if (faultCodeElem == null)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- else if (faultCodeElem.getNodeType() == Node.ELEMENT_NODE)
- {
- if (isValidFaultCode((Element) faultCodeElem))
- {
- result = AssertionResult.RESULT_PASSED;
- }
- else
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail =
- this.validator.createFailureDetail(responseMessage, entryContext);
- //failureDetail =
- // "The faultcode value was : "
- // + faultCodeElem.getFirstChild().getNodeValue().trim();
- } //End if (faultCode.equals...)
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- } //End for
- } //End if logEntryResponse!= null
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /**
- * Check faultCode.
- * @param faultCodeElem a faultcode.
- * @return true if faultcode is valid.
- */
- public boolean isValidFaultCode(Element faultCodeElem)
- {
- //A faultcode may or maynot have a prefix, if it does its namespace should be
- //http://schemas.xmlsoap.org/soap/envelope which is the same as the faultcode element.
- //If a prefix is present and it corresponds to a different namespace or is null
- //then this returns false. The local part of the faultcode is then check to see
- //if it is one of the permitted values.
- if (faultCodeElem == null)
- return true;
-
- String faultCode = faultCodeElem.getFirstChild().getNodeValue().trim();
- if (faultCode == null)
- return false;
-
- // FIX: This is not correct, since this element can not be namespace qualified
- String faultCodeElemPrefix = faultCodeElem.getParentNode().getPrefix();
-
- // If this is not a QName then return false
- int index;
- String faultCodePrefix = null;
- String faultCodeName = faultCode;
- if ((index = faultCode.indexOf(':')) != -1)
- {
- faultCodePrefix = faultCode.substring(0, index);
- faultCodeName = faultCode.substring(index + 1, faultCode.length());
- }
-
- if ((faultCodeElemPrefix != null && faultCodePrefix != null))
- {
- if (faultCodePrefix.equals(faultCodeElemPrefix))
- {
- if ((faultCodeName.equals("MustUnderstand")
- || faultCodeName.equals("VersionMismatch")
- || faultCodeName.equals("Client")
- || faultCodeName.equals("Server")))
- /* REMOVE:
- || faultCodeName.startsWith("MustUnderstand.")
- || faultCodeName.startsWith("VersionMismatch.")
- || faultCodeName.startsWith("Client.")
- || faultCodeName.startsWith("Server.")))
- */
- return true;
- else
- return false;
- }
- else
- {
- return true;
- }
- }
- else
- {
- if (faultCodeName.equals("MustUnderstand")
- || faultCodeName.equals("VersionMismatch")
- || faultCodeName.equals("Client")
- || faultCodeName.equals("Server")
- || faultCodeName.startsWith("MustUnderstand.")
- || faultCodeName.startsWith("VersionMismatch.")
- || faultCodeName.startsWith("Client.")
- || faultCodeName.startsWith("Server."))
- return true;
- else
- return false;
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1305.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1305.java
deleted file mode 100644
index 1c7976f5a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1305.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import java.net.HttpURLConnection;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1305.
- * It is in an HTTP 500 message with "Server" Error code.
- */
-public class BP1305 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1305(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- Document doc;
- // Check if this is one way response
- // or message is mepty or invalid
- if (this.validator.isOneWayResponse(entryContext)
- || (doc = entryContext.getMessageEntryDocument()) == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // look for <soap:Fault> element:
- NodeList faultList =
- doc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_FAULT);
- if ((faultList == null) || (faultList.getLength() == 0))
- {
- // Response does not contain a soap:fault
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // we have a soap:Fault. Check that it is contained in a HTTP 500 message
- // GT : base HTTP Header parsing on BP1001 - this should be factored to a
- // general-purpose HTTP message parsing method or methods (request & response)
- String httpHeader = entryContext.getMessageEntry().getHTTPHeaders();
- //Response-Line = HTTP-Version ResponseCode ResponseMsg SP CRLF
- Vector responseLine = new Vector();
- String startLine = null;
- //String httpVersion = null;
- //String responseCode = null;
- String statusCode = null;
- StringTokenizer httpMessageTokenizer =
- new StringTokenizer(httpHeader, "\n\r\f");
-
- if (httpMessageTokenizer.hasMoreTokens())
- startLine = httpMessageTokenizer.nextToken();
-
- if (startLine.startsWith("HTTP"))
- {
- StringTokenizer startLineTokenizer =
- new StringTokenizer(startLine, "\u0020");
-
- while (startLineTokenizer.hasMoreTokens())
- {
- responseLine.add(startLineTokenizer.nextToken());
- }
-
- //httpVersion = (String) responseLine.get(0);
-
- // PB: Check for 500 status code which should be the second token in the string
- statusCode = (String) responseLine.get(1);
-
- //responseCode = (String) responseLine.get(1);
- //statusCode = (String) responseLine.get(2);
- }
- try
- {
- // PB: Just check for 500 status code
- if (!statusCode
- .equals(String.valueOf(HttpURLConnection.HTTP_INTERNAL_ERROR)))
- {
- //if (!responseCode.equalsIgnoreCase("OK") ||
- // (!statusCode.equalsIgnoreCase("ServerError"))) {
- // Assertion failed
- throw new AssertionFailException(httpHeader);
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1306.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1306.java
deleted file mode 100644
index 13e40ed3d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1306.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1306.
- * The soap:Fault element does not have children other than soap:faultcode, soap:faultstring, soap:faultactor or soap:detail.
- */
-public class BP1306 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1306(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- Document doc;
- // Check if this is one way response
- // or message is mepty or invalid
- if (this.validator.isOneWayResponse(entryContext)
- || (doc = entryContext.getMessageEntryDocument()) == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // look for <soap:Fault> element:
- NodeList faultList =
- doc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_FAULT);
- if ((faultList == null) || (faultList.getLength() == 0))
- {
- // Response does not contain a soap:fault
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // check that no soap:fault contains only faultcode, faultstring, faultactor, detail.
- // If it does, further check that it is unqualified.
- // For each <soap:Fault>
- try
- {
- for (int n = 0; n < faultList.getLength(); n++)
- {
- for (Node child = faultList.item(n).getFirstChild();
- child != null;
- child = child.getNextSibling())
- {
- if ((child.getNodeType() == Node.ELEMENT_NODE)
- && !(child
- .getLocalName()
- .equalsIgnoreCase(XMLUtils.SOAP_ELEM_FAULT_CODE)
- || child.getLocalName().equalsIgnoreCase(
- XMLUtils.SOAP_ELEM_FAULT_STRING)
- || child.getLocalName().equalsIgnoreCase(
- XMLUtils.SOAP_ELEM_FAULT_ACTOR)
- || child.getLocalName().equalsIgnoreCase(
- XMLUtils.SOAP_ELEM_FAULT_DETAIL)))
- {
- // PB: This is checked in 1316 now
- //|| (child.getNamespaceURI() != null)) {
- // Assertion failed
- throw new AssertionFailException(
- entryContext.getMessageEntry().getMessage());
- }
- }
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1307.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1307.java
deleted file mode 100644
index f66dd616c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1307.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1307.
- * The elements of the message that are namespaced
- * "http://schemas.xmlsoap.org/soap/envelope/" do not have a soap:encodingStyle attribute.
- */
-public class BP1307 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1307(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- Document doc;
- // Check if this is one way response
- // or message is mepty or invalid
- if (this.validator.isOneWayResponse(entryContext)
- || (doc = entryContext.getMessageEntryDocument()) == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // look for <soap:xxx> elements:
- NodeList soapList =
- doc.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "*");
- if ((soapList == null) || (soapList.getLength() == 0))
- {
- // Response does not contain any soap envelope elements
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // check that no <soap:xxx> elements contains a soap:encodingStyle attribute
- // For each <soap:xxx>
- try
- {
- for (int n = 0; n < soapList.getLength(); n++)
- {
- Element nextElem = (Element) soapList.item(n);
- if (nextElem
- .getAttributeNodeNS(WSIConstants.NS_URI_SOAP, "encodingStyle")
- != null)
- {
- // Assertion failed
- throw new AssertionFailException(
- entryContext.getMessageEntry().getMessage());
- }
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1308.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1308.java
deleted file mode 100644
index ecc0a6fce..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1308.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1308.
- * The children elements of soap:Body do not have a soap:encodingStyle attribute.
- */
-public class BP1308 extends AssertionProcess implements WSITag
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1308(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
- // If the message is empty or invalid, the assertion is not applicable
- if (doc == null)
- throw new AssertionNotApplicableException();
-
- // look for soap:Body elements:
- NodeList soapBodyList = doc.getElementsByTagNameNS(
- ELEM_SOAP_BODY.getNamespaceURI(), ELEM_SOAP_BODY.getLocalPart());
-
- // The message does not contain any soap:Body, the assertion is not applicable
- if ((soapBodyList == null) || (soapBodyList.getLength() == 0))
- throw new AssertionNotApplicableException();
-
- // check that no soap:Body child elements contain a soap:encodingStyle attribute
- // Getting the first soap:Body child element
- Element child =
- XMLUtils.getFirstChild((Element) soapBodyList.item(0));
- while (child != null)
- {
- if (child.getAttributeNodeNS(
- ELEM_SOAP_BODY.getNamespaceURI(), "encodingStyle") != null)
- {
- throw new AssertionFailException("The child element name is \"" +
- child.getNodeName() + "\".");
- }
- // Getting the next soap:Body child element
- child = XMLUtils.getNextSibling(child);
- }
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1309.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1309.java
deleted file mode 100644
index fb3b6a4ba..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1309.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1309.
- * The soap:Envelope does not have direct children after the soap:Body element
- */
-public class BP1309 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1309(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- Document doc;
- // Check if this is one way response
- // or message is mepty or invalid
- if (this.validator.isOneWayResponse(entryContext)
- || (doc = entryContext.getMessageEntryDocument()) == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // look for <soap:Envelope> elements:
- // (Note: since this is a Soap message we expect exactly one soap envelope, but we do not assume it).
- NodeList soapEnvList =
- doc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_ENVELOPE);
- if ((soapEnvList == null) || (soapEnvList.getLength() == 0))
- {
- // Response does not contain any soap Envelope element(s)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // check that if a <soap:Body> exists in a <soap:Envelope>, that its the last in the envelope
- try
- {
- // For each <soap:Envelope>
- for (int n = 0; n < soapEnvList.getLength(); n++)
- {
- // Get the list of all elements in the Envelope
- Element soapEnv = (Element) soapEnvList.item(n);
- NodeList envChildList = soapEnv.getChildNodes();
- Vector envChildElemList = new Vector();
- for (int v = 0; v < envChildList.getLength(); v++)
- {
- Node nextNode = envChildList.item(v);
- if (nextNode.getNodeType() == Node.ELEMENT_NODE)
- {
- envChildElemList.addElement((Element) nextNode);
- }
- }
- // Search the list for <soap:Body>
- for (int m = 0; m < envChildElemList.size(); m++)
- {
- Element envChildElem = (Element) envChildElemList.elementAt(m);
- if (envChildElem
- .getNamespaceURI()
- .equals(WSIConstants.NS_URI_SOAP)
- && envChildElem.getLocalName().equals(XMLUtils.SOAP_ELEM_BODY))
- {
- // found a <soap:Body> so check its the last in the list of child elements of the Envelope
- if (envChildElem != envChildElemList.lastElement())
- {
- throw new AssertionFailException(
- entryContext.getMessageEntry().getMessage());
- }
- }
- }
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1316.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1316.java
deleted file mode 100644
index f84182f1b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1316.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1316.
- * The soap:Fault element children (soap:faultcode, soap:faultstring, soap:faultactor or soap:detail) are unqualified.
- */
-public class BP1316 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1316(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- Document doc;
- // Check if this is one way response
- // or message is mepty or invalid
- if (this.validator.isOneWayResponse(entryContext)
- || (doc = entryContext.getMessageEntryDocument()) == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // look for <soap:Fault> element:
- NodeList faultList =
- doc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_FAULT);
- if ((faultList == null) || (faultList.getLength() == 0))
- {
- // Response does not contain a soap:fault
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // check that no soap:fault contains only faultcode, faultstring, faultactor, detail.
- // If it does, further check that it is unqualified.
- // For each <soap:Fault>
- try
- {
- for (int n = 0; n < faultList.getLength(); n++)
- {
- for (Node child = faultList.item(n).getFirstChild();
- child != null;
- child = child.getNextSibling())
- {
- if ((child.getNodeType() == Node.ELEMENT_NODE)
- && (child
- .getLocalName()
- .equalsIgnoreCase(XMLUtils.SOAP_ELEM_FAULT_CODE)
- || child.getLocalName().equalsIgnoreCase(
- XMLUtils.SOAP_ELEM_FAULT_STRING)
- || child.getLocalName().equalsIgnoreCase(
- XMLUtils.SOAP_ELEM_FAULT_ACTOR)
- || child.getLocalName().equalsIgnoreCase(
- XMLUtils.SOAP_ELEM_FAULT_DETAIL))
- && (child.getNamespaceURI() != null))
- {
- // Assertion failed
- throw new AssertionFailException(
- entryContext.getMessageEntry().getMessage());
- }
- }
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1318.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1318.java
deleted file mode 100644
index a180801bd..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1318.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLUtils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1318
- *
- * The grandchildren elements of soap:Body do not have a soap:encodingStyle attribute.
- */
-public class BP1318 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1318(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (this.validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
-
- // Parse message
- Document responseDoc = entryContext.getMessageEntryDocument();
- Document requestDoc = entryContext.getRequestDocument();
-
- // messages are empty or invalid, DOM objects are null
- if (responseDoc == null || requestDoc == null) {
- throw new AssertionNotApplicableException();
- }
-
- //if (isFault(responseDoc))
- // throw new AssertionNotApplicableException();
-
- // Get SOAPAction
- String headers = entryContext.getRequest().getHTTPHeaders();
- String action = null;
- if (headers != null)
- action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
-
- // Get the binding that is being processed
- Binding binding = validator.analyzerContext.getCandidateInfo().getBindings()[0];
-
- //Create the types registry
- TypesRegistry registry =
- new TypesRegistry(
- this.validator.getWSDLDocument().getDefinitions(),
- validator);
-
- // Find an operation match
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- requestDoc,
- action,
- binding,
- registry);
- if (match == null)
- throw new AssertionNotApplicableException();
-
- // Get the binding operation based on the match
- BindingOperation bindingOperation = match.getOperation();
-
- // If this is not rpc-literal, then return notApplicable result
- if (!WSDLUtils
- .isRpcLiteral(match.getOperationStyle(), bindingOperation))
- {
- throw new AssertionNotApplicableException();
- }
- // look for <soap:Body> elements:
- NodeList soapBodyList =
- responseDoc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_BODY);
- if ((soapBodyList == null) || (soapBodyList.getLength() == 0))
- // Response does not contain any soap Body elements
- throw new AssertionNotApplicableException();
-
- // check that no <soap:Body> child or grandchild elements contains a soap:encodingStyle attribute
- // For each <soap:Body>
- boolean grandChildFound = false;
- for (int n = 0; n < soapBodyList.getLength(); n++)
- {
- Element nextBodyElem = (Element) soapBodyList.item(n);
- // REMOVE: This will get all nodes (child, grandchildren, etc.)
- //NodeList childList = nextBodyElem.getElementsByTagName("*");
- NodeList childList = nextBodyElem.getChildNodes();
- if (childList != null)
- {
- // check all child elements
- for (int m = 0; m < childList.getLength(); m++)
- {
- if (childList.item(m).getNodeType() == Node.ELEMENT_NODE)
- {
- Element nextChildElem = (Element) childList.item(m);
- // check children of this child
- // REMOVE: This will get all nodes (child, grandchildren, etc.)
- NodeList grandChildList = nextChildElem.getChildNodes();
- if (grandChildList != null)
- {
- for (int p = 0; p < grandChildList.getLength(); p++)
- {
- if (grandChildList.item(p).getNodeType()
- == Node.ELEMENT_NODE)
- {
- grandChildFound = true;
- Element nextGrandChildElem =
- (Element) grandChildList.item(p);
- if (nextGrandChildElem
- .getAttributeNodeNS(
- WSIConstants.NS_URI_SOAP,
- "encodingStyle")
- != null)
- {
- // Assertion failed (ADD highlight the child here ?)
- throw new AssertionFailException(
- entryContext.getMessageEntry().getMessage());
- }
- }
- }
- }
- }
- }
- }
- }
- if (!grandChildFound)
- {
- throw new AssertionNotApplicableException();
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1600.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1600.java
deleted file mode 100644
index e28c5b84e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1600.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import java.util.Collection;
-import java.util.HashSet;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-
-
-/**
- * BP1600
- *
- * <context>For a candidate envelope</context>
- * <assertionDescription>The envelope conforms to the structure specified in SOAP 1.1 Section 4.</assertionDescription>
- */
-public class BP1600 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1600(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
-
- // If the message is empty or invalid, the assertion failed
- if (doc == null)
- {
- if (this.validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
- else
- throw new AssertionFailException("The log message is empty or invalid.");
- }
- // SOAP 1.1 specifications, Section 4.
- // http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383494
-
- // The namespace identifier for the elements and attributes defined
- // in this section is "http://schemas.xmlsoap.org/soap/envelope/".
-
- // o The Envelope is the top element of the XML document representing the message.
-
- // Rule 1. Envelope
- // o The element name is "Envelope".
- // o The element MUST be present in a SOAP message
- // o The element MAY contain namespace declarations as well as additional attributes.
- // If present, such additional attributes MUST be namespace-qualified. Similarly,
- // the element MAY contain additional sub elements. If present these elements
- // MUST be namespace-qualified and MUST follow the SOAP Body element.
-
- // Getting the top element
- Element element = doc.getDocumentElement();
-
- // Assuming that the top element should be soap:Envelope
- // If not, the assertion failed
- if (!element.getLocalName().equals(XMLUtils.SOAP_ELEM_ENVELOPE)
- || !isSOAPNamespace(element.getNamespaceURI()))
- throw new AssertionFailException("The top element is not soap:Envelope");
-
- // Collecting all the namespace declarations
- Collection envelopeNamespaces = collectNamespaces(element.getAttributes());
- envelopeNamespaces.add(WSIConstants.NS_URI_XMLNS);
-
- // Getting an attribute that is not in any of the namespaces
- Attr notValidAttr = getNotValidAttr(
- element.getAttributes(),
- envelopeNamespaces);
-
- // If found one, the assertion failed
- if (notValidAttr != null)
- throw new AssertionFailException("The attribute "
- + notValidAttr.getNodeName() + " is not namespace-qualified");
-
-
- // Rule 2. Header
- // o The element name is "Header".
- // o The element MAY be present in a SOAP message. If present, the element
- // MUST be the first immediate child element of a SOAP Envelope element.
- // o The element MAY contain a set of header entries each being an immediate
- // child element of the SOAP Header element. All immediate child elements
- // of the SOAP Header element MUST be namespace-qualified.
-
- // Getting the first sub element of the envelope
- element = XMLUtils.getFirstChild(element);
-
- // If the child is soap:Header
- if (element != null
- && element.getLocalName().equals(XMLUtils.SOAP_ELEM_HEADER)
- && isSOAPNamespace(element.getNamespaceURI()))
- {
-
- // Going through all the Header entries
- Element headerEntry = XMLUtils.getFirstChild(element);
- while (headerEntry != null)
- {
- // Collecting all the namespaces for the current entry
- Collection headerEntryNamespaces = collectNamespaces(
- headerEntry.getAttributes());
-
- // If the entry is not in the namespaces, the assertion failed
- if (!envelopeNamespaces.contains(headerEntry.getNamespaceURI())
- && !headerEntryNamespaces.contains(headerEntry.getNamespaceURI()))
- throw new AssertionFailException("The header entry "
- + headerEntry.getNodeName() + " is not namespace-qualified");
-
- // Getting the next Header entry
- headerEntry = XMLUtils.getNextSibling(headerEntry);
- }
-
- // Getting the next sub element of the envelope
- element = XMLUtils.getNextSibling(element);
- }
-
-
- // Rule 3. Body
- // o The element name is "Body".
- // o The element MUST be present in a SOAP message and MUST be an immediate
- // child element of a SOAP Envelope element. It MUST directly follow the
- // SOAP Header element if present. Otherwise it MUST be the first immediate
- // child element of the SOAP Envelope element.
- // o The element MAY contain a set of body entries each being an immediate
- // child element of the SOAP Body element. Immediate child elements of the
- // SOAP Body element MAY be namespace-qualified. SOAP defines the SOAP Fault
- // element, which is used to indicate error messages.
-
- // if the SOAP Body element is not presented, the assertion failed
- if (element == null
- || !element.getLocalName().equals(XMLUtils.SOAP_ELEM_BODY)
- || !isSOAPNamespace(element.getNamespaceURI()))
- throw new AssertionFailException("The soap:Body element is not presented "
- + "or follows an additional sub element of soap:Envelope");
-
- // Processing all other sub elements of the envelope
- element = XMLUtils.getNextSibling(element);
- while (element != null)
- {
- // Checking for the SOAP Header element
- if (element.getLocalName().equals(XMLUtils.SOAP_ELEM_HEADER)
- && isSOAPNamespace(element.getNamespaceURI()))
- throw new AssertionFailException(
- "The soap:Header element cannot follow the soap:Body element");
-
- // Collecting all the namespaces for the current element
- Collection elementNamespaces = collectNamespaces(
- element.getAttributes());
-
- // If the element is not in the namespaces, the assertion failed
- if (!envelopeNamespaces.contains(element.getNamespaceURI())
- && !elementNamespaces.contains(element.getNamespaceURI()))
- throw new AssertionFailException("The sub envelope element "
- + element.getNodeName() + " is not namespace-qualified");
-
- // Getting the next sub element of the envelope
- element = XMLUtils.getNextSibling(element);
- }
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Collects all the namespace declarations from attributes collection
- * @param attrs an attributes collection
- * @return a collection of namespaces
- */
- private Collection collectNamespaces(NamedNodeMap attrs)
- {
- Collection ns = new HashSet();
- if (attrs != null)
- {
- for(int i = 0; i < attrs.getLength(); i++)
- {
- Attr attr = (Attr) attrs.item(i);
- if (attr.getNamespaceURI() != null
- && attr.getNamespaceURI().equals(WSIConstants.NS_URI_XMLNS))
- ns.add(attr.getValue());
- }
- }
-
- return ns;
- }
-
- /**
- * Retrieves an attribute that is not in namespaces
- * @param attrs an attributes collection
- * @param ns a namespaces collection
- * @return an attribtue that is not in any of the namespaces specified
- */
- private Attr getNotValidAttr(NamedNodeMap attrs, Collection ns)
- {
- Attr ret = null;
- if (attrs != null)
- {
- for(int i = 0; i < attrs.getLength(); i++)
- {
- Attr attr = (Attr) attrs.item(i);
- if (attr.getNamespaceURI() == null
- || !ns.contains(attr.getNamespaceURI()))
- {
- ret = attr;
- break;
- }
- }
- }
- return ret;
- }
-
- /**
- * Qualifies whether a namespace is the SOAP namespace
- * "http://schemas.xmlsoap.org/soap/envelope/"
- * @param ns a namespace to be qualified
- * @return true if the namespace is qualified, false otherwise
- */
- private boolean isSOAPNamespace(String ns)
- {
- if (ns == null)
- return false;
-
- return ns.equals(WSIConstants.NS_URI_SOAP);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1601.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1601.java
deleted file mode 100644
index 78e7c4545..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1601.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.xml.sax.SAXException;
-
-
-/**
- * BP1601.
- */
-public class BP1601 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1601(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // One-way responses will not contain a SOAP message
- if (this.validator.isOneWayResponse(entryContext))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- try
- {
- // Try to parse the SOAP message
- //Document doc = XMLUtils.parseXML(entryContext.getMessageEntry().getMessage());
- XMLUtils.parseXML(entryContext.getMessageEntry().getMessage());
- }
- catch (WSIException e)
- {
- if (e.getTargetException() instanceof SAXException)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- e.getTargetException().getMessage(),
- entryContext);
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1701.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1701.java
deleted file mode 100644
index cca1c8958..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1701.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-import com.ibm.wsdl.util.xml.DOM2Writer;
-
-
-/**
- * BP1701.
- */
-public class BP1701 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1701(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- if (this.validator.isOneWayResponse(entryContext))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- try
- {
- // TEMP: Use local copy of schema for now
- // Document doc = XMLUtils.parseXML(entryContext.getLogEntry().getMessage(), WSIConstants.NS_URI_SOAP);
- // Document doc = XMLUtils.parseXML(entryContext.getLogEntry().getMessage(), "schemas/soapEnvelope.xsd");
-
- // Get a non-validated but (well-formed) DOM tree of the message content
- Document doc =
- XMLUtils.parseXML(entryContext.getMessageEntry().getMessage());
-
- // Remove any xsi:types attributes from the message (SOAP Header, Body and Envelope itself)
-
- NodeList elementList = doc.getElementsByTagName("*");
- if (elementList != null)
- {
- for (int i = 0; i < elementList.getLength(); i++)
- {
- Element element = (Element) elementList.item(i);
- element.removeAttributeNS(WSIConstants.NS_URI_XSI, "type");
- }
- }
-
- // Write out the (potentially) modified tree to String
- String filteredMessage = DOM2Writer.nodeToString(doc);
-
- // Parse the result with validation "on"
- XMLUtils.parseXML(
- filteredMessage,
- TestUtils.getSOAPSchemaLocation());
- }
- catch (WSIException e)
- {
- if (e.getTargetException() instanceof SAXException)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- Utils.getExceptionDetails(e.getTargetException()),
- entryContext);
- }
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(Utils.getExceptionDetails(e), entryContext);
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1755.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1755.java
deleted file mode 100644
index 7b83ee2dc..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1755.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * BP1755
- *
- * <context>For a candidate non-fault envelope containing a soap:body with at least one element, and that is referred by a binding style RPC-literal</context>
- * <assertionDescription>Each part accessor element in the envelope has a local name of the same value as the name attribute of the corresponding wsdl:part element.</assertionDescription>
- */
-public class BP1755 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1755(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
-
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
-
- Element soapOperation = null;
- // If there is a Fault entry or no body entries,
- // the assertion is not applicable
- if (validator.isFault(doc)
- || (soapOperation = validator.getSoapBodyChild(doc)) == null)
- throw new AssertionNotApplicableException();
-
- // Creating a qualified name of potential SOAP operation
- QName operationQName = new QName(
- soapOperation.getNamespaceURI(), soapOperation.getLocalName());
-
- // Retrieving all the RPC binding operations from wsdl:binding
- BindingOperation[] rpcBindingOperations =
- validator.getMatchingBindingOps(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
- validator.analyzerContext.getCandidateInfo().getBindings());
-
- // Retrieving binding operation by given operation name
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- operationQName,
- rpcBindingOperations);
-
- // If there is no matched operation, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
-
- // Finding operation message parts and extensibility elems
- // in the binding depending on message type
- List operationMessageParts = null;
- List extElems = null;
- if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_REQUEST))
- {
- operationMessageParts = bindingOperation.getOperation()
- .getInput().getMessage().getOrderedParts(null);
- if (bindingOperation.getBindingInput() != null)
- extElems =
- bindingOperation.getBindingInput().getExtensibilityElements();
- }
- else
- {
- operationMessageParts = bindingOperation.getOperation()
- .getOutput().getMessage().getOrderedParts(null);
- if (bindingOperation.getBindingOutput() != null)
- extElems =
- bindingOperation.getBindingOutput().getExtensibilityElements();
- }
-
- // If the message is not literal, the assertion is not applicable
- if (!validator.isLiteral(extElems))
- throw new AssertionNotApplicableException();
-
-
- /* Basic Profile Version 1.1 (http://www.ws-i.org/Profiles/Basic/2003-12/BasicProfile-1.1.htm)
- * says that the order of the elements in the soap:body of an ENVELOPE MUST be
- * the same as that of the wsdl:parts in the wsdl:message that describes it.
- * However, we should keep in mind there is the "parts" attribute of soapbind:body
- * that indicates which parts appear within the SOAP Body.
- */
-
- // Getting the ordered list of wsdl:part names
- List orderedPartNames =
- validator.orderPartNames(operationMessageParts, extElems);
- Iterator i = orderedPartNames.iterator();
- // Getting the first accessor
- Element accessor = XMLUtils.getFirstChild(soapOperation);
- while (accessor != null)
- {
- // If there is no the corresponding wsdl:part element
- // for an accessor, the assertion failed
- if (!i.hasNext())
- throw new AssertionFailException(
- "The part accessor element '" + accessor.getLocalName()
- + "' does not have the corresponding wsdl:part element.");
-
- // If local name of accessor does not equal to the name of the
- // corresponding wsdl:part element, the assertion failed
- String partName = (String) i.next();
- if (!accessor.getLocalName().equals(partName))
- throw new AssertionFailException(
- "The accessor local name is " + accessor.getLocalName()
- + ", the corresponding part element name is " + partName);
-
- // Getting the next accessor
- accessor = XMLUtils.getNextSibling(accessor);
- }
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4100.java
deleted file mode 100644
index fe09c0002..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4100.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPHeader;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-
-/**
- * BP4100
- * <context>For a candidate envelope containing a header block that is either mandatory or is not described in the wsdl:binding.</context>
- * <assertionDescription>An envelope contains a header block that is either mandatory or is not described in the wsdl:binding.</assertionDescription>
- */
-public class BP4100 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP4100(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // Parsing the message
- Document doc = entryContext.getMessageEntryDocument();
-
- // If the message is empty or invalid, the assertion is not applicable
- if (doc == null)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Getting header elements from envelope
- Element root = doc.getDocumentElement();
- NodeList headerList = root.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP, XMLUtils.SOAP_ELEM_HEADER);
-
- // If there is no header, the assertion is not applicable
- if (headerList == null || headerList.getLength() == 0)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Getting the header element
- Node header = headerList.item(0);
-
- // Getting the immediate child elements of the header
- NodeList elems = header.getChildNodes();
-
- // If there are no child elements of the header
- // the assertion is not applicable
- if (elems == null || elems.getLength() == 0)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Walking through child elements
- for (int i = 0; i < elems.getLength(); i++)
- {
-
- if (elems.item(i).hasAttributes())
- {
- // Getting the mustUnderstand attribute
- Node muNode = elems.item(i).getAttributes().getNamedItem(
- root.getPrefix() + ":" + XMLUtils.SOAP_ATTR_MUST_UNDERSTAND);
- // If a header block is mandatory, then the assertion passed
- if (muNode != null && muNode.getNodeValue().equals("1"))
- {
- throw new AssertionPassException();
- }
- }
-
- // Getting header block name
- String blockName = elems.item(i).getLocalName();
- // If the name is not presented (occurs when element is empty string)
- // then continue with the next element
- if (blockName == null)
- {
- continue;
- }
-
- boolean blockNameExists = false;
-
- // Getting WSDL bindings
- Binding[] bindings = validator.getWSDLDocument().getBindings();
- for (int j = 0; j < bindings.length; j++)
- {
- // Getting wsdl:operations
- List operations = bindings[j].getBindingOperations();
- Iterator k = operations.iterator();
- while (k.hasNext() && !blockNameExists)
- {
- BindingOperation operation = (BindingOperation) k.next();
-
- // If this is a request message,
- // then getting wsdl:input for an operation
- if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_REQUEST))
- {
- BindingInput opInput = operation.getBindingInput();
- if (opInput != null)
- {
- // If wsdl:input is presented then checking
- // whether the block name is described there or not
- blockNameExists = blockNameExists(
- opInput.getExtensibilityElements(), blockName);
- }
- }
- // If this is a response message,
- // then getting wsdl:output for an operation
- else
- {
- BindingOutput opOutput = operation.getBindingOutput();
- if (opOutput != null)
- {
- // If wsdl:output is presented then checking
- // whether the block name is described there or not
- blockNameExists = blockNameExists(
- opOutput.getExtensibilityElements(), blockName);
- }
- }
- }
- }
-
- // If a header block is not described in the appropriate wsdl:binding
- // then the assertion passed
- if (!blockNameExists)
- {
- throw new AssertionPassException();
- }
- }
-
- // No one header block is either mandatory or is not described in the
- // appropriate wsdl:binding, the assertion is not applicable
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- }
- catch (AssertionPassException ape)
- {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Checks the existense of blockName in wsdlsoap:header, if it is found in
- * a list of ExtensibilityElement objects
- *
- * @param elems A list of ExtensibilityElement objects
- * @param blockName The name that will be checked for existence
- * @return true if blockName is described in the wsdlsoap:header extensibility element
- */
- private boolean blockNameExists(List elems, String blockName)
- {
- if (elems == null)
- {
- return false;
- }
-
- Iterator i = elems.iterator();
- while (i.hasNext())
- {
- ExtensibilityElement elem = (ExtensibilityElement) i.next();
- String elemName = elem.getElementType().getLocalPart();
- if (elemName.equals("header"))
- {
- SOAPHeader soapHeader = (SOAPHeader) elem;
- if (soapHeader.getPart().equals(blockName))
- {
- return true;
- }
- }
- }
-
- return false;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4101.java
deleted file mode 100644
index afd93f3f4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4101.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * BP4101
- * <context>For a candidate envelope containing a soap:actor attribute with a value other than the special uri "http://schemas.xmlsoap.org/soap/actor/next".</context>
- * <assertionDescription>A header element in the envelope contains a soap:actor attribute with a value other than the special uri "http://schemas.xmlsoap.org/soap/actor/next".</assertionDescription>
- */
-public class BP4101 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP4101(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try {
-
- // Parsing the message
- Document doc = entryContext.getMessageEntryDocument();
-
- // If the message is empty or invalid, the assertion is not applicable
- if (doc == null)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Getting header elements from envelope
- Element root = doc.getDocumentElement();
- NodeList headerList = root.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP, XMLUtils.SOAP_ELEM_HEADER);
-
- // If there is no header, the assertion is not applicable
- if (headerList == null || headerList.getLength() == 0)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Getting the header element
- Node header = headerList.item(0);
-
- // Getting the immediate child elements of the header
- NodeList elems = header.getChildNodes();
-
- // If there is no child elements of the header
- // the assertion is not applicable
- if (elems == null || elems.getLength() == 0)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Walking through child elements
- for (int i = 0; i < elems.getLength(); i++)
- {
- // Getting node attributes
- NamedNodeMap attrs = elems.item(i).getAttributes();
-
- // If the node does not have attributes then continue
- if (attrs == null)
- {
- continue;
- }
-
- // Getting actor attribute
- Node actor = attrs.getNamedItem(root.getPrefix()
- + ":" + XMLUtils.SOAP_ATTR_ACTOR);
-
- // If the actor attribute is presented and does not equal
- // to "http://schemas.xmlsoap.org/soap/actor/next",
- // then the assertion passed
- if (actor != null
- && !actor.getNodeValue().equals(WSIConstants.NS_URI_SOAP_NEXT_ACTOR))
- {
- throw new AssertionPassException();
- }
- }
-
- // No one actor attribute has a value other than
- // "http://schemas.xmlsoap.org/soap/actor/next",
- // the assertion is not applicable
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- }
- catch (AssertionPassException ape)
- {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4102.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4102.java
deleted file mode 100644
index 1be179229..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4102.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * BP4102
- * <context>For a candidate envelope containing a fault with a non-empty detail element.</context>
- * <assertionDescription>A Fault element in an envelope contains a non-empty detail element.</assertionDescription>
- */
-public class BP4102 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP4102(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try {
-
- // Parsing the message
- Document doc = entryContext.getMessageEntryDocument();
-
- // If the message is empty or invalid, the assertion is not applicable
- if (doc == null)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Getting Fault elements from envelope
- Element root = doc.getDocumentElement();
- NodeList faultList = root.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP, XMLUtils.SOAP_ELEM_FAULT);
-
- // If there is no Fault element, the assertion is not applicable
- if (faultList == null || faultList.getLength() == 0)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Fault element must not appear more than once
- // within a Body element, so getting the first one
- Element fault = (Element) faultList.item(0);
-
- // Getting Fualt's detail elements
- NodeList details = fault.getElementsByTagName(
- XMLUtils.SOAP_ELEM_FAULT_DETAIL);
- // If there is a non-empty detail element, then the assertion passed
- if (details != null
- && details.getLength() > 0)
- {
- NodeList list = details.item(0).getChildNodes();
- // search first element node
- for (int i = 0; i < list.getLength(); i++)
- {
- if((list.item(i).getNodeType() == Node.ELEMENT_NODE)
- && (list.item(i).getLocalName() != null) )
- {
- throw new AssertionPassException();
- }
- }
- }
-
- // There is no detail element in Fault,
- // the assertion is not applicable
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- }
- catch (AssertionPassException ape)
- {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4109.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4109.java
deleted file mode 100644
index 92f8d1d37..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4109.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.NodeList;
-
-/**
- * BP4109
- *
- * <context>For a candidate envelope containing a soap:Body element with attributes</context>
- * <assertionDescription>An envelope contains a a soap:Body element with attributes.</assertionDescription>
- */
-public class BP4109 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP4109(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try {
-
- // Parsing the message
- Document doc = entryContext.getMessageEntryDocument();
-
- // If the message is empty or invalid, the assertion is not applicable
- if (doc == null)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Getting the soap:Body elements from envelope
- NodeList bodyList = doc.getDocumentElement().getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP, XMLUtils.SOAP_ELEM_BODY);
-
- // If there is no Body element, the assertion is not applicable
- if (bodyList == null || bodyList.getLength() == 0)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Getting the first soap:Body element
- Element body = (Element) bodyList.item(0);
-
- // If the Body element has attributes (excluding namespace declarations),
- // the assertion passed
- NamedNodeMap attrs = body.getAttributes();
- if (attrs != null)
- {
- for (int i = 0; i < attrs.getLength(); i++)
- {
- String attrName = ((Attr) attrs.item(i)).getName();
- if (!attrName.equals("xmlns") && !attrName.startsWith("xmlns:"))
- {
- throw new AssertionPassException();
- }
- }
- }
-
- throw new AssertionNotApplicableException();
- }
- catch (AssertionPassException ape)
- {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/EnvelopeValidatorImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/EnvelopeValidatorImpl.java
deleted file mode 100644
index be2014cb0..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/EnvelopeValidatorImpl.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2003 IBM Corporation, Parasoft 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
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-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.EnvelopeValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-
-/**
- * @version 1.0
- */
-public class EnvelopeValidatorImpl
- extends BaseMessageValidator
- implements EnvelopeValidator
-{
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isPrimaryEntryTypeMatch(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- protected boolean isPrimaryEntryTypeMatch(
- TestAssertion testAssertion,
- EntryContext entryContext)
- {
- boolean match = false;
-
- // Verify that the entry and test assertion have the same primary context
- if ((testAssertion.getEntryTypeName().equals(EntryType.TYPE_ENVELOPE_ANY))
- || (testAssertion.getEntryTypeName().equals(EntryType.TYPE_ENVELOPE_REQUEST)
- && (entryContext
- .getEntry()
- .getEntryType()
- .getTypeName()
- .equals(EntryType.TYPE_MESSAGE_REQUEST)))
- || (testAssertion.getEntryTypeName().equals(EntryType.TYPE_ENVELOPE_RESPONSE)
- && (entryContext
- .getEntry()
- .getEntryType()
- .getTypeName()
- .equals(EntryType.TYPE_MESSAGE_RESPONSE))))
- {
- match = true;
- }
-
- return match;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP1601.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP1601.java
deleted file mode 100644
index 919d35aca..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP1601.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * SSBP1601
- */
-public class SSBP1601 extends BP1601
-{
-
- /**
- * @param BaseMessageValidator
- */
- public SSBP1601(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP9704.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP9704.java
deleted file mode 100644
index ac5526f31..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP9704.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * 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.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * SSBP9704
- *
- * <context>For a candidate envelope</context>
- * <assertionDescription>The ENVELOPE does not contain the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace".</assertionDescription>
- */
-public class SSBP9704 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public SSBP9704(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
- // If the message is empty or invalid, the assertion is not applicable
- if (doc == null)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Getting the root element
- Element elem = doc.getDocumentElement();
- // If it is not the soap:Envelope, the assertion is not applicable
- if (!elem.getNamespaceURI().equals(WSIConstants.NS_URI_SOAP)
- || !elem.getLocalName().equals(XMLUtils.SOAP_ELEM_ENVELOPE))
- {
- throw new AssertionNotApplicableException();
- }
-
- // If the envelope contains the xmlns:xml namespace declaration,
- // the assertion failed
- String incorrectElementName = getIncorrectElementName(elem);
- if (incorrectElementName != null)
- {
- throw new AssertionFailException("The name of an element containing "
- + "such namespace declaration is \"" + incorrectElementName + "\".");
- }
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Looks for any element that contains the attribute xmlns:xml="http://www.w3.org/XML/1998/namespace".
- * @param elem the root element.
- * @return the name of an element found or null.
- */
- private String getIncorrectElementName(Element elem)
- {
- // Getting a value of the attribute xmlns:xml
- String attrValue = elem.getAttributeNS(
- WSIConstants.NS_URI_XMLNS, "xml");
- // If it equals to "http://www.w3.org/XML/1998/namespace",
- // return an element name;
- if (WSIConstants.NS_URI_XML.equals(attrValue))
- {
- return elem.getNodeName();
- }
- // Going through element's children
- Element child = XMLUtils.getFirstChild(elem);
- while (child != null)
- {
- // If any of them has xmlns:xml attribute, return a value
- String name = getIncorrectElementName(child);
- if (name != null)
- {
- return name;
- }
- // Getting the next element's child
- child = XMLUtils.getNextSibling(child);
- }
- // No xmlns:xml attributes found, return null
- return null;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1003.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1003.java
deleted file mode 100644
index 53ff37299..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1003.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-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.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP1003
- *
- * <context>For a candidate non-multipart/related message in the log file, which has a non-empty entity-body</context>
- * <assertionDescription>
- * The logged SOAP envelope is a UTF-8 transcript of an envelope originally encoded as UTF-8 or UTF-16.
- * The HTTP Content-Type header's charset value is either UTF-8 or UTF-16. Looking at the messageContent
- * element of the logged message, either
- * (1) it has a BOM attribute which maps the charset value in the Content-Type header, or
- * (2) it has it has an XML declaration which matches the charset value in the Content-Type header, or
- * (3) there is no BOM attribute and no XML declaration, and the charset value is UTF-8.
- * </assertionDescription>
- *
- * @author lauzond
- */
-public class AP1003 extends SSBP1003 {
-
- /**
- * @param impl
- */
- public AP1003(BaseMessageValidator impl)
- {
- super(impl);
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // If there is a SOAP Message with Attachments, the assertion is not applicable
- if (entryContext.getMessageEntry().isMimeContent())
- {
- return validator.createAssertionResult(testAssertion, AssertionResult.RESULT_NOT_APPLICABLE, failureDetail);
- }
- else
- {
- return super.validate(testAssertion, entryContext);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1902.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1902.java
deleted file mode 100644
index bd900e6f9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1902.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.ExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP1902
- *
- * <context>For a candidate message</context>
- * <assertionDescription>In a description, if the wsdl:input or wsdl:output
- * element in the wsdl:binding specifies WSDL MIME binding, then the message
- * can contain SOAP attachments.</assertionDescription>
- */
-public class AP1902 extends AssertionProcess implements WSITag
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1902(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- try
- {
- // Getting an operation matched for a message
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- entryContext.getMessageEntryDocument());
- // If no one operation matches, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
- // Getting the corresponding extensibility elements
- List extElems;
- String type;
- if (MessageEntry.TYPE_REQUEST
- .equals(entryContext.getEntry().getEntryType()))
- {
- type = "input";
- extElems = bindingOperation.getBindingInput() == null ? null
- : bindingOperation.getBindingInput().getExtensibilityElements();
- }
- else
- {
- type = "output";
- extElems = bindingOperation.getBindingOutput() == null ? null
- : bindingOperation.getBindingOutput().getExtensibilityElements();
- }
- // If the MIME binding is not used, but the message has
- // at least one non-root MIME part, the assertion failed
- if (!usesMimeBinding(extElems)
- && entryContext.getMessageEntry().getMimeParts().count() > 1)
- {
- throw new AssertionFailException("The wsdl:" + type + " of the \""
- + bindingOperation.getName() + "\" binding operation.");
- }
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Checks whether the first extensibility element is mime:multipartRelated.
- * @param extElems a list of extensibility elements.
- * @return true if the element is mime:multipartRelated, false otherwise
- */
- private boolean usesMimeBinding(List extElems) {
- // If the first extensibility element is mime:multipartRelated,
- // return true
- if (extElems != null && extElems.size() > 0
- && ((ExtensibilityElement)extElems.get(0))
- .getElementType().equals(WSDL_MIME_MULTIPART))
- {
- return true;
- }
- // otherwise return false
- return false;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1915.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1915.java
deleted file mode 100644
index e85297608..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1915.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.MIMEConstants;
-import org.eclipse.wst.wsi.internal.core.util.MIMEUtils;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-/**
- * AP1915
- *
- * <context>For a candidate root-part of a multipart/related message</context>
- * <assertionDescription>The entity body of the root-part of a
- * multipart/related message is serialized using either UTF-8 or UTF-16
- * character encoding.</assertionDescription>
- */
-public class AP1915 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1915(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- // get MIME parts
- if (!entryContext.getMessageEntry().isMimeContent())
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- MimeParts mimeParts = entryContext.getMessageEntry().getMimeParts();
- MimePart part = mimeParts.getRootPart();
- if (part == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- String xmlEncoding = null;
- String charset = MIMEUtils.getMimeHeaderSubAttribute(
- part.getHeaders(),
- MIMEConstants.HEADER_CONTENT_TYPE,
- "charset");
- try
- {
- // The HTTP Content-Type header's charset value is either UTF-8 or UTF-16.
- if((charset != null) && (charset.equalsIgnoreCase("utf-8") ||
- charset.equalsIgnoreCase("utf-16")))
- {
- // Looking at the messageContent element of the logged message, either
- // (1) it has a BOM attribute which maps the charset value in the Content-Type header, or
- int bom = 0;
- if ((bom = entryContext.getMessageEntry().getBOM()) != 0)
- {
- if ((bom == WSIConstants.BOM_UTF8
- && !charset.equalsIgnoreCase("utf-8"))
- || ((bom == WSIConstants.BOM_UTF16
- && !charset.equalsIgnoreCase("utf-16")))
- || ((bom == WSIConstants.BOM_UTF16_BIG_ENDIAN
- && !charset.equalsIgnoreCase("utf-16"))))
- {
- throw new AssertionFailException("The BOM (" + bom +
- ") and charset value (" + charset + ")do not match.");
- }
- }
- // (2) it has an XML declaration which matches the charset value in the Content-Type header, or
- else if (((xmlEncoding =
- Utils.getXMLEncoding(part.getContent())) != null) &&
- !xmlEncoding.equals(""))
- {
- if(!xmlEncoding.equalsIgnoreCase(charset))
- {
- throw new AssertionFailException("The XML declaration encoding (" +
- xmlEncoding + ") and charset value (" + charset +
- ") do not match.");
- }
-
- }
- // (3) there is no BOM attribute and no XML declaration, and the charset value is UTF-8.
- else if(!charset.equalsIgnoreCase("utf-8"))
- {
- throw new AssertionFailException("The no BOM attribute and no XML "+
- "declaration, and the charset value is (" + charset + ")");
- }
- }
- // header do not found or incorrect charset value
- else
- {
- throw new AssertionFailException("Either the Content-Type header is not "+
- "present in the Root Part or a charset value is invalid.");
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(e.getMessage(), entryContext);
- }
- }
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1917.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1917.java
deleted file mode 100644
index 012d0d6f7..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1917.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.soap.SOAPBody;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-/**
- * AP1917
- *
- * <context>For a candidate message containing zero attachment parts</context>
- * <assertionDescription>A message containing zero attachment parts is sent
- * using a content-type of either "text/xml" as though a SOAP HTTP binding were
- * used or "multipart/related" when the WSDL description for the message
- * specifies the mime:multipartRelated element on the corresponding wsdl:input
- * or wsdl:output element in its wsdl:binding.</assertionDescription>
- */
-public class AP1917 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1917(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- try
- {
- // not applicable if there are attachments
- if (entryContext.getMessageEntry().isMimeContent())
- {
- if (entryContext.getMessageEntry().getMimeParts().count() > 1)
- throw new AssertionNotApplicableException();
- }
-
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- entryContext.getMessageEntryDocument());
-
- // If there is no matched operation, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
-
- // Finding operation extensibility elems
- // in the binding depending on message type
- List extElems = null;
- if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_REQUEST)
- && bindingOperation.getBindingInput() != null)
- {
- extElems = bindingOperation
- .getBindingInput().getExtensibilityElements();
- }
- else if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_RESPONSE)
- && bindingOperation.getBindingOutput() != null)
- {
- extElems = bindingOperation
- .getBindingOutput().getExtensibilityElements();
- }
-
- // check list
- if((extElems == null) || (extElems.size() == 0))
- {
- throw new AssertionNotApplicableException();
- }
-
- // determine type
- boolean isMultiPart = false;
-
- // if MIMEMultipartRelated then only root-part allowed
- if(extElems.get(0) instanceof MIMEMultipartRelated)
- {
- if(((MIMEMultipartRelated) extElems.get(0)).getMIMEParts().size() != 1) {
- throw new AssertionNotApplicableException();
- }
- isMultiPart = true;
- }
- // else if not soapbind:body root element
- else if(!(extElems.get(0) instanceof SOAPBody))
- {
- throw new AssertionNotApplicableException();
- }
-
- // get HTTP content type
- String contentType = HTTPUtils.getHttpHeaderAttribute(
- entryContext.getMessageEntry().getHTTPHeaders(),
- HTTPConstants.HEADER_CONTENT_TYPE);
-
- //allow "text/xml" or
- //("multipart/related" and "mime:multipartRelated" WSDL bindings)
- if((contentType == null) ||
- (!contentType.equalsIgnoreCase(WSIConstants.CONTENT_TYPE_MULTIPART) &&
- !contentType.equalsIgnoreCase(WSIConstants.CONTENT_TYPE_TEXT_XML)) ||
- ((contentType.equalsIgnoreCase(WSIConstants.CONTENT_TYPE_MULTIPART) &&
- !isMultiPart)))
- {
- throw new AssertionFailException("The content-type header field " +
- "value \"" + contentType + "\" is incorrect");
- }
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- validator.createFailureDetail(e.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1925.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1925.java
deleted file mode 100644
index b01a2b855..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1925.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-/**
- * AP1925
- *
- * <context>For a candidate message</context>
- * <assertionDescription>If the WSDL description lists at least one non-root
- * MIME part, then the corresponding message has a Content-Type HTTP header
- * field-value with a media-type of "multipart/related.</assertionDescription>
- */
-public class AP1925 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1925(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- try
- {
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- entryContext.getMessageEntryDocument());
-
- // If there is no matched operation, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
-
- // Finding operation extensibility elems
- // in the binding depending on message type
- List extElems = null;
- if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_REQUEST)
- && bindingOperation.getBindingInput() != null)
- {
- extElems = bindingOperation
- .getBindingInput().getExtensibilityElements();
- }
- else if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_RESPONSE)
- && bindingOperation.getBindingOutput() != null)
- {
- extElems = bindingOperation
- .getBindingOutput().getExtensibilityElements();
- }
- // check list on first element
- if((extElems == null) || (extElems.size() == 0) ||
- !(extElems.get(0) instanceof MIMEMultipartRelated))
- throw new AssertionNotApplicableException();
-
- // get list mime parts from definition
- MIMEMultipartRelated mime = (MIMEMultipartRelated) extElems.get(0);
- List parts = mime.getMIMEParts();
- // if parts count is more than one, than assertion is notApplicable
- if(parts.size() <= 1)
- throw new AssertionNotApplicableException();
- String contentType = HTTPUtils.getHttpHeaderAttribute(
- entryContext.getMessageEntry().getHTTPHeaders(),
- HTTPConstants.HEADER_CONTENT_TYPE);
- if((contentType == null) ||
- !contentType.equalsIgnoreCase(WSIConstants.CONTENT_TYPE_MULTIPART))
- {
- throw new AssertionFailException("Incorrect Content-Type value \"" +
- contentType + "\" in HTTP header");
- }
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- validator.createFailureDetail(e.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Returns the part value from MIMEContent element
- * @param part MIMEPart element
- * @return the part value from MIMEContent element
- */
- //private String getMIMEContentPart(MIMEPart part) {
- // List list = part.getExtensibilityElements();
- // if(list.size() == 0)
- // return null;
- // return ((MIMEContent) list.get(0)).getPart();
- //}
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1926.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1926.java
deleted file mode 100644
index a3f24ecd9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1926.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.MIMEConstants;
-import org.eclipse.wst.wsi.internal.core.util.MIMEUtils;
-
-/**
- * AP1926
- *
- * <context>For a candidate message</context>
- * <assertionDescription>A message includes all of the MIME parts described by
- * its WSDL MIME binding.</assertionDescription>
- */
-public class AP1926 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1926(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- try
- {
- if(!entryContext.getMessageEntry().isMimeContent())
- {
- throw new AssertionNotApplicableException();
- }
-
- // get message mime parts
- MimeParts mimeParts = entryContext.getMessageEntry().getMimeParts();
-
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- entryContext.getMessageEntryDocument());
-
- // If there is no matched operation, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
-
- // Finding operation extensibility elems
- // in the binding depending on message type
- List extElems = null;
- if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_REQUEST)
- && bindingOperation.getBindingInput() != null)
- {
- extElems = bindingOperation
- .getBindingInput().getExtensibilityElements();
- }
- else if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_RESPONSE)
- && bindingOperation.getBindingOutput() != null)
- {
- extElems = bindingOperation
- .getBindingOutput().getExtensibilityElements();
- }
- // check list for the first element
- if((extElems == null) || (extElems.size() == 0) ||
- !(extElems.get(0) instanceof MIMEMultipartRelated))
- throw new AssertionNotApplicableException();
-
- // get list mime parts from definition
- MIMEMultipartRelated mime = (MIMEMultipartRelated) extElems.get(0);
- List parts = mime.getMIMEParts();
-
- if(mimeParts.getRootPart() == null || mimeParts.count()==0)
- throw new AssertionNotApplicableException();
- // skip root part
- for (int i = 1; i < parts.size(); i++)
- {
- String partName = getMIMEContentPart((MIMEPart) parts.get(i));
- // find the corresponding MIME part
- if (findMIMEPart(mimeParts.getParts(), partName) == null)
- {
- throw new AssertionFailException("The corresponding binding " +
- "operation \"" + bindingOperation.getName() +
- "\" does not contain part \"" + partName + "\"");
- }
- }
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- validator.createFailureDetail(e.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * find corresponding MIME part
- * @param parts array of soap MIME parts
- * @param partName part name to find
- * @return corresponding MIME part "Content-ID" value,
- * if the part doesnt found, retuns null
- * @throws WSIException
- */
- private String findMIMEPart(Collection parts, String partName)
- throws WSIException
- {
- if(partName == null)
- return null;
- Iterator iparts = parts.iterator();
- while (iparts.hasNext())
- {
- MimePart part = (MimePart)iparts.next();
- String m_partName = MIMEUtils.getMimeHeaderAttribute(
- part.getHeaders(), MIMEConstants.HEADER_CONTENT_ID);
-
- // check value format <partname=UID@host>
- if ((m_partName != null) && (m_partName.startsWith("<")) &&
- (m_partName.indexOf("=") != -1) &&
- (encodePartName(m_partName.substring(1, m_partName.indexOf("="))).equals(partName)))
- {
- return m_partName;
- }
- }
- return null;
- }
-
- /**
- * Returns the part value from MIMEContent element
- * @param part MIMEPart element
- * @return the part value from MIMEContent element
- */
- private String getMIMEContentPart(MIMEPart part) {
- List list = part.getExtensibilityElements();
- if(list.size() == 0)
- return null;
- return ((MIMEContent) list.get(0)).getPart();
- }
-
- /**
- * Encode string from %HH to UTF
- * @param str string
- * @return encoded string from %HH format
- */
- private String encodePartName(String str) {
- StringBuffer res = new StringBuffer("");
- for (int i = 0; i < str.length(); i++)
- {
- if((str.charAt(i) == '%') && (str.length() > i+2))
- {
- try
- {
- int value = Integer.parseInt(
- String.valueOf(str.charAt(i+1)) +
- String.valueOf(str.charAt(i+2)), 16);
- res.append((char) value);
- i +=2;
- }
- catch(NumberFormatException e){}
- }
- else
- {
- res.append(str.charAt(i));
- }
- }
- return res.toString();
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1931.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1931.java
deleted file mode 100644
index 01cdfc9b9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1931.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * AP1931
- *
- * <context>For a candidate root-part of a multipart/related message</context>
- * <assertionDescription>The entity body of the root-part of multipart/related
- * message is a soap:Envelope.</assertionDescription>
- */
-public class AP1931 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1931(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- // check for the root part
- if(entryContext.getMessageEntry().isMimeContent() &&
- (entryContext.getMessageEntry().getMimeParts().getRootPart() != null))
- {
- try
- {
- // parse root part message
- Document doc = XMLUtils.parseXML(
- entryContext.getMessageEntry().getMimeParts().getRootPart().getContent());
-
- // get entity body
- Element el = doc.getDocumentElement();
-
- // if the element is not soap:Envelope, then fail
- if(!el.getLocalName().equals(WSITag.ELEM_SOAP_ENVELOPE.getLocalPart()) ||
- !el.getNamespaceURI().equals(WSITag.ELEM_SOAP_ENVELOPE.getNamespaceURI()))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- "the entity body of the root part is {" +
- el.getNamespaceURI() + "}" + el.getLocalName(), entryContext);
- }
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- "the entity body of the root part does not contain " +
- "\"soap:Envelope\" element", entryContext);
- }
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1932.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1932.java
deleted file mode 100644
index d9c0fc722..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1932.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-/**
- * AP1932
- *
- * <context>For a candidate message containing a Content-Type HTTP header
- * field-value with a media type of "multipart/related"</context>
- * <assertionDescription>In a message, the Content-Type HTTP header field-value
- * has a type parameter with a value of "text/xml" when it has a media type of
- * "multipart/related".</assertionDescription>
- */
-public class AP1932 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1932(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- // check for multipart/related content type
- String content_type = HTTPUtils.getHttpHeaderAttribute(
- entryContext.getMessageEntry().getHTTPHeaders(),
- HTTPConstants.HEADER_CONTENT_TYPE);
-
- if((content_type == null) ||
- (!content_type.equalsIgnoreCase(WSIConstants.CONTENT_TYPE_MULTIPART)))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- String subType = HTTPUtils.getHttpHeaderSubAttribute(
- entryContext.getMessageEntry().getHTTPHeaders(),
- HTTPConstants.HEADER_CONTENT_TYPE, "type");
- if((subType == null)
- || !subType.equalsIgnoreCase(WSIConstants.CONTENT_TYPE_TEXT_XML))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- "The \"type\" parameter value is \"" + subType + "\"", entryContext);
- }
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1933.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1933.java
deleted file mode 100644
index a4491fbb7..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1933.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.MIMEConstants;
-import org.eclipse.wst.wsi.internal.core.util.MIMEUtils;
-
-/**
- * AP1933
- *
- * <context>For a candidate message</context>
- * <assertionDescription>If a description binds a wsdl:message part to a
- * mime:content element, then the corresponding MIME part in a message has a
- * content-id header with a globally unique value of the form
- * &lt;partname=ID@hostname&gt;, where 'partname' is the value of the name attribute of
- * the wsdl:part element referenced by the mime:content.</assertionDescription>
- */
-public class AP1933 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1933(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
-
- try
- {
- if(!entryContext.getMessageEntry().isMimeContent())
- {
- throw new AssertionNotApplicableException();
- }
-
- // get message mime parts
- MimeParts mimeParts = entryContext.getMessageEntry().getMimeParts();
-
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- entryContext.getMessageEntryDocument());
-
- // If there is no matched operation, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
-
- // Finding operation extensibility elems
- // in the binding depending on message type
- List extElems = null;
- if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_REQUEST)
- && bindingOperation.getBindingInput() != null)
- {
- extElems = bindingOperation
- .getBindingInput().getExtensibilityElements();
- }
- else if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_RESPONSE)
- && bindingOperation.getBindingOutput() != null)
- {
- extElems = bindingOperation
- .getBindingOutput().getExtensibilityElements();
- }
- // check list for the first element
- if((extElems == null) || (extElems.size() == 0) ||
- !(extElems.get(0) instanceof MIMEMultipartRelated))
- throw new AssertionNotApplicableException();
-
- // get list mime parts from definition
- MIMEMultipartRelated mime = (MIMEMultipartRelated) extElems.get(0);
- List parts = mime.getMIMEParts();
-
- // skip root part
- for (int i = 1; i < parts.size(); i++)
- {
- String partName = getMIMEContentPart((MIMEPart) parts.get(i));
- // find the corresponding MIME part
- if (findMIMEPart(mimeParts.getParts(), partName) == null)
- {
- throw new AssertionFailException("The corresponding binding " +
- "operation \"" + bindingOperation.getName() +
- "\" does not contain part \"" + partName + "\"");
- }
- }
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- validator.createFailureDetail(e.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * find corresponding MIME part
- * @param parts array of soap MIME parts
- * @param partName part name to find
- * @return corresponding MIME part "Content-ID" value,
- * if the part doesnt found, retuns null
- * @throws WSIException
- */
- private String findMIMEPart(Collection parts, String partName)
- throws WSIException, AssertionFailException
- {
- if(partName == null)
- return null;
-
- Iterator iparts = parts.iterator();
- int i = 0;
- while (iparts.hasNext())
- {
- i = i + 1;
- MimePart part = (MimePart)iparts.next();
- String m_partName = MIMEUtils.getMimeHeaderAttribute(
- part.getHeaders(), MIMEConstants.HEADER_CONTENT_ID);
-
- // check value format <partname=UID@hostname>
- if ((m_partName != null) && m_partName.startsWith("<") && m_partName.endsWith(">"))
- {
- int idx, atIdx;
- String enPartName = null;
- String uid = null;
- String host = null;
-
- // get part name from content-id
- if ((idx = m_partName.indexOf("=")) != -1)
- {
- enPartName = encodePartName(m_partName.substring(1, idx));
- }
- // get uid and hostname from content-id
- if (((atIdx = m_partName.indexOf("@")) != -1) && (atIdx > idx))
- {
- uid = m_partName.substring(idx+1, atIdx);
- host = m_partName.substring(atIdx+1, m_partName.length()-1);
- }
- // if part names match, validate format
- if((enPartName != null) && enPartName.equals(partName))
- {
- if((uid == null) || (uid.length() == 0))
- throw new AssertionFailException(
- "The \"Content-ID\" attribute of the part \""+(i+1)+
- "\"contains value \""+ m_partName+
- "\" which has a incorrect UID format");
- if(host == null)
- throw new AssertionFailException(
- "The \"Content-ID\" attribute of the part \""+(i+1)+
- "\"contains value \""+ m_partName+
- "\" which has a incorrect host format");
- // check for malformed URL
- try
- {
- new URL("HTTP", host, "");
- }
- catch (MalformedURLException e)
- {
- throw new AssertionFailException(
- "The \"Content-ID\" attribute of the part \""+(i+1)+
- "\"contains value \""+ m_partName+
- "\" which has a incorrect host format");
- }
- return m_partName;
- }
- }
- }
- return null;
- }
-
- /**
- * Returns the part value from MIMEContent element
- * @param part MIMEPart element
- * @return the part value from MIMEContent element
- */
- private String getMIMEContentPart(MIMEPart part)
- {
- List list = part.getExtensibilityElements();
- if(list.size() == 0)
- return null;
- return ((MIMEContent) list.get(0)).getPart();
- }
-
- /**
- * Encode string from %HH to UTF
- * @param str string
- * @return encoded string from %HH format
- */
- private String encodePartName(String str) {
- StringBuffer res = new StringBuffer("");
- for (int i = 0; i < str.length(); i++)
- {
- if((str.charAt(i) == '%') && (str.length() > i+2))
- {
- try
- {
- int value = Integer.parseInt(
- String.valueOf(str.charAt(i+1)) +
- String.valueOf(str.charAt(i+2)), 16);
- res.append((char) value);
- i +=2;
- }
- catch(NumberFormatException e){}
- }
- else
- {
- res.append(str.charAt(i));
- }
- }
- return res.toString();
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1934.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1934.java
deleted file mode 100644
index 1c060516d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1934.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import java.util.Iterator;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.MIMEConstants;
-import org.eclipse.wst.wsi.internal.core.util.MIMEUtils;
-
-/**
- * AP1934
- *
- * <context>For a candidate part of a multipart/related message</context>
- * <assertionDescription>The Content-Transfer-Encoding field of a part in a
- * multipart/related message has a value of "7bit", "8bit", "binary",
- * "quoted-printable" or "base64".</assertionDescription>
- */
-public class AP1934 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1934(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- // check for multipart/related content type
- if(!entryContext.getMessageEntry().isMimeContent())
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // get MIME parts
- MimeParts parts = entryContext.getMessageEntry().getMimeParts();
- if(parts.count() == 0)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- Iterator iparts = parts.getParts().iterator();
- // check each part for the Content-Transfer-Encoding field
- int i = 0;
- while (iparts.hasNext())
- {
- MimePart part = (MimePart)iparts.next();
- String type_value = MIMEUtils.getMimeHeaderAttribute(
- part.getHeaders(),
- MIMEConstants.HEADER_CONTENT_TRANSFER_ENCODING);
- if (type_value != null)
- {
- if((type_value == null) || !(type_value.equalsIgnoreCase("7bit") ||
- type_value.equalsIgnoreCase("8bit") ||
- type_value.equalsIgnoreCase("base64") ||
- type_value.equalsIgnoreCase("quoted-printable") ||
- type_value.equalsIgnoreCase("binary")))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- "(" + (i+1) +
- "), part header field \"Content-Transfer-Encoding\" has incorrect value \""+
- type_value+"\"", entryContext);
- }
- }
- i++;
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1935.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1935.java
deleted file mode 100644
index 4d8fce7fc..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1935.java
+++ /dev/null
@@ -1,348 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-/**
- * AP1935
- *
- * <context>For a candidate part of a multipart/related message</context>
- * <assertionDescription>The encoding of the body of a part in a
- * multipart/related message conforms to the encoding indicated by the
- * Content-Transfer-Encoding field-value,
- * as specified by RFC2045.</assertionDescription>
- */
-public class AP1935 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1935(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- if(!entryContext.getMessageEntry().isMimeContent())
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // get MIME parts
- MimeParts parts = entryContext.getMessageEntry().getMimeParts();
- if(parts.count() == 0)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // check each part for the encoding match
- Iterator iparts = parts.getParts().iterator();
- int i = 0;
- MimePart root = parts.getRootPart();
- while (iparts.hasNext())
- {
- i = i = 1;
- try
- {
- MimePart part = (MimePart)iparts.next();
-
- // get encoding from header
- String encoding = HTTPUtils.getHttpHeaderAttribute(part.getHeaders(),
- HTTPConstants.HEADER_CONTENT_TRANSFER_ENCODING);
-
- if ((part == root) ||
- ((encoding != null) && encoding.equalsIgnoreCase("base64")))
- checkPart(part, encoding, false);
- else
- checkPart(part, encoding, true);
- } catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- "part "+(i+1)+" Error: " + e.getMessage(), entryContext);
- }
- }
- }
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
- /**
- * Check message entry to encoding conformity
- * @param entry message entry
- * @throws AssertionFailException if message does not encoding conformity
- * @throws WSIException
- */
- private void checkPart(MimePart part, String encoding, boolean encoded)
- throws AssertionFailException, WSIException
- {
- String content = null;
- if (encoded)
- content = new String(Utils.decodeBase64(part.getContent()));
- else
- content = part.getContent();
-
- if(encoding == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- // check 7bit
- } else if(encoding.equalsIgnoreCase("7bit")) {
- checkOn7bit(content);
- // check 8bit
- } else if(encoding.equalsIgnoreCase("8bit")) {
- checkOn8bit(content);
- // check quoted-printable
- } else if(encoding.equalsIgnoreCase("quoted-printable")) {
- checkOnQuotedPrintable(content);
- // check base64
- } else if(encoding.equalsIgnoreCase("base64")) {
- checkOnBase64(content);
- }
- // we dont check binary encoding, since message can contains any chars
- }
-
- /**
- * Validate a 7bit encoded message (RFC2045)
- * @param message message to check
- * @throws AssertionFailException if message does not conform
- */
- private void checkOn7bit(String message)
- throws AssertionFailException
- {
- String[] strs = split(message);
- for (int i = 0; i < strs.length; i++)
- {
- String str = strs[i];
-
- // check string length
- if(str.length() > 998)
- {
- throw new AssertionFailException("The length (" + str.length() +
- ") of the line (" + (i+1) + ") greater than 998");
- }
- // No octets with decimal values greater than 127
- // are allowed and neither are NULs (octets with decimal value 0). CR
- //(decimal value 13) and LF (decimal value 10) octets only occur as
- // part of CRLF line separation sequences.
- char[] chars = str.toCharArray();
- for (int j = 0; j < chars.length; j++)
- {
- if((chars[j] > 127) || (chars[j] == 0) ||
- (chars[j] == 10) || (chars[j] == 13))
- {
- throw new AssertionFailException("The char (" + chars[j] +
- ")[code=" + (byte) chars[j] + " position=" + j +
- "] does not allows in 7bit encoding content");
- }
- }
- }
- }
-
- /**
- * Validate an 8bit encoded message (RFC2045)
- * @param message message to check
- * @throws AssertionFailException if message does not conform
- */
- private void checkOn8bit(String message)
- throws AssertionFailException
- {
- String[] strs = split(message);
- for (int i = 0; i < strs.length; i++)
- {
- String str = strs[i];
-
- // check string length
- if(str.length() > 998)
- {
- throw new AssertionFailException("The length (" + str.length() +
- ") of the line (" + (i+1) + ") greater than 998");
- }
- // octets with decimal values greater than 127
- // may be used. As with "7bit data" CR and LF octets only occur as part
- // of CRLF line separation sequences and no NULs are allowed.
- char[] chars = str.toCharArray();
- for (int j = 0; j < chars.length; j++)
- {
- if((chars[j] == 0) || (chars[j] == 10) || (chars[j] == 13))
- {
- throw new AssertionFailException("The char (" + chars[j] +
- ")[code=" + (byte) chars[j] + " position=" + j +
- "] does not allows in 8bit encoding content");
- }
- }
- }
- }
-
- /**
- * Validate a quoted-printable encoded message (RFC2045)
- * @param message message to check
- * @throws AssertionFailException if message does not conform
- */
- private void checkOnQuotedPrintable(String message)
- throws AssertionFailException
- {
- String[] strs = split(message);
- for (int i = 0; i < strs.length; i++)
- {
- // check length
- // RFC2045
- // (5) (Soft Line Breaks) The Quoted-Printable encoding
- //REQUIRES that encoded lines be no more than 76
- //characters long. If longer lines are to be encoded
- //with the Quoted-Printable encoding, "soft" line breaks
- //must be used. An equal sign as the last character on a
- //encoded line indicates such a non-significant ("soft")
- //line break in the encoded text.
- if(((strs[i].indexOf("\t") != -1) || (strs[i].indexOf(" ") != -1)) &&
- (strs[i].length() > 76))
- {
- throw new AssertionFailException("The length (" + strs[i].length() +
- ") of the line (" + (i+1) +
- ") greater than 76, \"soft\" line breaks must be used");
- }
-
- char[] chars = strs[i].toCharArray();
- for (int j = 0; j < chars.length; j++)
- {
- //(1) (General 8bit representation) Any octet, except a CR or
- //LF that is part of a CRLF line break of the canonical
- //(standard) form of the data being encoded, may be
- //represented by an "=" followed by a two digit
- //hexadecimal representation of the octet's value. The
- //digits of the hexadecimal alphabet, for this purpose,
- //are "0123456789ABCDEF". Uppercase letters must be
- //used; lowercase letters are not allowed. Thus, for
- //example, the decimal value 12 (US-ASCII form feed) can
- //be represented by "=0C", and the decimal value 61 (US-
- //ASCII EQUAL SIGN) can be represented by "=3D". This
- //rule must be followed except when the following rules
- //allow an alternative encoding.
- // (2) (Literal representation) Octets with decimal values of
- //33 through 60 inclusive, and 62 through 126, inclusive,
- //MAY be represented as the US-ASCII characters which
- //correspond to those octets (EXCLAMATION POINT through
- //LESS THAN, and GREATER THAN through TILDE,
- //respectively).
- if((chars[j] == 61) && (chars.length > j+2))
- {
- if(!isHex(chars[j+1]) || !isHex(chars[j+2]))
- {
- throw new AssertionFailException("the quoted char (" +
- chars[j] + chars[j+1] + chars[j+2] + ") is incorrect");
- } else {
- j += 2;
- }
- }
- // check for space and tab
- else if((chars[j] != 9) && (chars[j] != 32))
- {
- // check invalid symbol
- if((chars[j] == 0) || (chars[j] == 10) || (chars[j] == 13) ||
- (chars[j] < 33) || (chars[j] > 126) || (chars[j] == 61))
- {
- throw new AssertionFailException("The char (" + chars[j] +
- ")[code=" + (byte) chars[j] + " position=" + j +
- "] must be quoted");
- }
- }
- }
- }
- }
-
- /**
- * Validate a base64 encoded message (RFC3548)
- * @param message message to check
- * @throws AssertionFailException if message does not conform
- */
- private void checkOnBase64(String message)
- throws AssertionFailException
- {
- String[] strs = split(message);
- for (int i = 0; i < strs.length; i++)
- {
- String str = strs[i];
-
- // check string length
- if(str.length() > 76)
- {
- throw new AssertionFailException("The length (" + str.length() +
- ") of the line (" + (i+1) + ") greater than 998");
- }
- // check for "ABCDEFGHIJKLMNOPQRSTUVWXYZabcefghijklmnopqrstuvwxyz0123456789/+"
- char[] chars = str.toCharArray();
- for (int j = 0; j < chars.length; j++)
- {
- char c = chars[i];
- if((c < 47) || (c > 122) || ((c > 57) && (c < 65)) ||
- ((c > 90) && (c < 97)))
- {
- throw new AssertionFailException("The char (" + chars[j] +
- ")[code=" + (byte) chars[j] + " position=" + j +
- "] does not allows in base64 encoding content");
- }
- }
- }
- }
-
- /**
- * split string to array of strings and use as delimeter CRLF
- * @param str original string
- * @return array of strings
- */
- private String[] split(String str)
- {
- ArrayList list = new ArrayList();
- for(int idx = str.indexOf("\r\n"); idx != -1; idx = str.indexOf("\r\n"))
- {
- list.add(str.substring(0, idx));
- str = str.substring(idx+2);
- }
- list.add(str);
- return (String[]) list.toArray(new String[list.size()]);
- }
-
- /**
- * Returns true if byte is "0123456789ABCDEF" range, false othewise
- * @param c char
- * @return true if byte is "0123456789ABCDEF" range, false othewise
- */
- private boolean isHex(char c) {
- return (((c >= 48) && (c <= 57)) || ((c >= 65) && (c <= 70)));
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1936.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1936.java
deleted file mode 100644
index db8ae713f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1936.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP1936
- * <context>For a candidate multipart/related message</context>
- * <assertionDescription>In a message, all MIME encapsulation boundary strings
- * are preceded with the ascii characters CR (13) and LF (10)
- * in that sequence.</assertionDescription>
- */
-public class AP1936 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public AP1936(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // if boundary equals null, then result is not applicable
- if (!entryContext.getMessageEntry().isMimeContent())
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- // otherwise it is true -- checked in monitor
- // MimeParts mimeParts = entryContext.getMessageEntry().getMimeParts();
- // Iterator i = mimeParts.getParts().iterator();
- // boolean invalidBoundaryStringFound = false;
- //while (i.hasNext() && !invalidBoundaryStringFound)
- //{
- // MimePart part = (MimePart)i.next();
- // String[] boundaries = part.getBoundaryStrings();
- // for (int j = 0; j<boundaries.length; j++)
- // {
- // if (!boundaries[j].startsWith("&#xd;\n"))
- // {
- // invalidBoundaryStringFound = true;
- // result = AssertionResult.RESULT_FAILED;
- // failureDetail = validator.createFailureDetail(boundaries[j], entryContext);
- // break;
- // }
- // }
- //}
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1942.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1942.java
deleted file mode 100644
index 5fb7973ea..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1942.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.MIMEConstants;
-import org.eclipse.wst.wsi.internal.core.util.MIMEUtils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-
-/**
- * AP1942
- *
- * <context>For a candidate part of a multipart/related message that is bound
- * to a mime:content that refers to global element declaration (via the element
- * attribute of the wsdl:part element)</context>
- * <assertionDescription>The bound message part is serialized within the MIME
- * part as a serialization of an XML infoset whose root element is described by
- * the referenced element.</assertionDescription>
- */
-public class AP1942 extends AssertionProcess implements WSITag
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1942(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- try
- {
- if (!entryContext.getMessageEntry().isMimeContent())
- {
- throw new AssertionNotApplicableException();
- }
- else
- {
- MimeParts mimeParts = entryContext.getMessageEntry().getMimeParts();
-
- // If the message does not contain non-root MIME parts
- // the assertion is not applicable
- if (mimeParts.count()< 2)
- throw new AssertionNotApplicableException();
-
- // Getting an operation matched for a message
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- entryContext.getMessageEntryDocument());
- // If no one operation matches, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
- // Getting the corresponding extensibility elements and message
- List extElems;
- Message message;
- if (MessageEntry.TYPE_REQUEST
- .equals(entryContext.getEntry().getEntryType()))
- {
- extElems = bindingOperation.getBindingInput() == null ? null
- : bindingOperation.getBindingInput().getExtensibilityElements();
- message = bindingOperation.getOperation().getInput() == null ? null
- : bindingOperation.getOperation().getInput().getMessage();
- }
- else
- {
- extElems = bindingOperation.getBindingOutput() == null ? null
- : bindingOperation.getBindingOutput().getExtensibilityElements();
- message = bindingOperation.getOperation().getOutput() == null ? null
- : bindingOperation.getOperation().getOutput().getMessage();
- }
- // A variable that indicates a binding contains at least one
- // mime:content element that refers to global element declaration
- boolean mimeContentFound = false;
- // Going through the message MIME parts
- Iterator iMimeParts = mimeParts.getParts().iterator();
- int i = 0;
- while (iMimeParts.hasNext())
- {
- i = i + 1;
- // Getting a MIME part
- MimePart mimePart = (MimePart)iMimeParts.next();
- // Getting a part name form the Content-ID header
- String partName = MIMEUtils.getMimeHeaderAttribute(
- mimePart.getHeaders(), MIMEConstants.HEADER_CONTENT_ID);
- try
- {
- int idx = partName.indexOf("=");
- if((idx != -1) && partName.startsWith("<"))
- partName = encodePartName(partName.substring(1, idx));
- }
- catch (Exception e)
- {
- // Could not extract a part name from the header,
- // proceed with the next MIME part
- continue;
- }
-
- // If the part is bound by a mime:content element
- if (boundToMimeContent(extElems, partName) && message != null)
- {
- // Getting the corresponding part
- Part part = (Part) message.getParts().get(partName);
- QName refName;
- // If the part refers to global element declaration
- if (part != null && (refName = part.getElementName()) != null)
- {
- mimeContentFound = true;
- // Trying to parse part content
- Document doc = null;
- try
- {
- doc = XMLUtils.parseXML(mimePart.getContent());
- }
- catch (Exception e) {}
- // If the message is not an XML infoset, the assertion failed
- if (doc == null)
- {
- throw new AssertionFailException("The bound message part of the "
- + "MIME part number " + (i + 1) + " is invalid XML infoset.");
- }
- // Creating a QName object of the root element
- QName rootName = new QName(
- doc.getDocumentElement().getNamespaceURI(),
- doc.getDocumentElement().getLocalName());
- // If the names of the root element and the referenced element
- // are not equal, the assertion failed
- if (!refName.equals(rootName))
- {
- throw new AssertionFailException("The root element name is "
- + rootName + ", the name of the referenced element is "
- + refName + ".");
- }
- }
- }
- }
- // If no mime:contentS found, the assertion is not applicable
- if (!mimeContentFound)
- throw new AssertionNotApplicableException();
- }
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
-
- /**
- * Validates whether a part is bound by a mime:content element.
- * @param extElems a list of extensibility elements.
- * @param part a part name.
- * @return true if a part is bound by mime:content, false otherwise.
- */
- private boolean boundToMimeContent(List extElems, String part)
- {
- if (extElems != null && extElems.size() > 0)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(0);
- // Expected the first ext elem is mime:multipartRelated
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- for (int i = 0; i < mimeParts.size(); i++)
- {
- // Getting the mime:part element needed
- List elems = ((MIMEPart) mimeParts.get(i)).getExtensibilityElements();
- if (elems.size() > 0)
- {
- // Getting the first element
- ExtensibilityElement elem = (ExtensibilityElement) elems.get(0);
- // If the element is mime:content and it binds a part
- if (elem.getElementType().equals(WSDL_MIME_CONTENT)
- && part.equals(((MIMEContent)elem).getPart()))
- {
- return true;
- }
- }
- }
- }
- }
- return false;
- }
-
- /**
- * Encode string from %HH to UTF
- * @param str string
- * @return encoded string from %HH format
- */
- private String encodePartName(String str) {
- StringBuffer res = new StringBuffer("");
- for (int i = 0; i < str.length(); i++)
- {
- if((str.charAt(i) == '%') && (str.length() > i+2))
- {
- try
- {
- int value = Integer.parseInt(
- String.valueOf(str.charAt(i+1)) +
- String.valueOf(str.charAt(i+2)), 16);
- res.append((char) value);
- i +=2;
- }
- catch(NumberFormatException e){}
- }
- else
- {
- res.append(str.charAt(i));
- }
- }
- return res.toString();
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1945.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1945.java
deleted file mode 100644
index 1dbf310cb..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1945.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-/**
- * AP1945
- * <context>For a candidate message</context>
- * <assertionDescription>The Content-Type HTTP header field-value in a message
- * is either "multipart/related" or "text/xml".</assertionDescription>
- */
-public class AP1945 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public AP1945(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- String headerName = HTTPConstants.HEADER_CONTENT_TYPE;
-
- // Getting a header
- String headerValue = HTTPUtils.getHttpHeaderAttribute(
- entryContext.getMessageEntry().getHTTPHeaders(),
- headerName);
- // If headerValue is null, the assertion is not applicable
- if (headerValue == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- // If the header is "multipart/related" or "text/xml",
- // then the assertion passed
- else if (headerValue.equalsIgnoreCase(WSIConstants.CONTENT_TYPE_MULTIPART)
- || headerValue.equalsIgnoreCase(WSIConstants.CONTENT_TYPE_TEXT_XML))
- {
- }
- // else the assertion failed
- else {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- headerValue, entryContext);
- }
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1946.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1946.java
deleted file mode 100644
index aaf0f1cb2..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1946.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP1946
- *
- * <context>For a candidate multipart/related message
- * containing non-root parts</context>
- * <assertionDescription>The candidate multipart/related message
- * containing non-root parts.</assertionDescription>
- */
-public class AP1946 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1946(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- // If there are more than one MIME parts, the assertion passed
- if (entryContext.getMessageEntry().getMimeParts().count() > 1)
- {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
- }
- // The assertion is not applicable
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5100.java
deleted file mode 100644
index 850e66029..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5100.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-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.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP5100
- *
- * <context>For a candidate non-multipart/related message in the log file, with an HTTP entity-body.</context>
- * <assertionDescription>The SOAP envelope is the exclusive payload of the HTTP entity-body.</assertionDescription>
- *
- * @author lauzond
- */
-public class AP5100 extends SSBP5100
-{
- /**
- * Constructor.
- * @param impl
- */
- public AP5100(BaseMessageValidator impl)
- {
- super(impl);
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // If there is a SOAP Message with Attachments, the assertion is not applicable
- if (entryContext.getMessageEntry().isMimeContent())
- {
- return validator.createAssertionResult(testAssertion, AssertionResult.RESULT_NOT_APPLICABLE, failureDetail);
- }
- else
- {
- return super.validate(testAssertion, entryContext);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5101.java
deleted file mode 100644
index 5ba2cb9e0..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5101.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-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.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP5101
- * <context>For a non-multipart/related candidate message in the log file.</context>
- * <assertionDescription>A message must have a "Content-Type" HTTP header field. The "Content-Type" HTTP header field must have a field-value whose media type is "text/xml".</assertionDescription>
- *
- * @author lauzond
- */
-public class AP5101 extends SSBP5101 {
-
- /**
- * @param impl
- */
- public AP5101(BaseMessageValidator impl)
- {
- super(impl);
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // If there is a SOAP Message with Attachments, the assertion is not applicable
- if (entryContext.getMessageEntry().isMimeContent())
- {
- return validator.createAssertionResult(testAssertion, AssertionResult.RESULT_NOT_APPLICABLE, failureDetail);
- }
- else
- {
- return super.validate(testAssertion, entryContext);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1001.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1001.java
deleted file mode 100644
index 0abcbcc13..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1001.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.MessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP1001.
- * If it is a request, the arg #2 of POST is &lt;HTTP/1.1&gt;. If absent, first line of the
- * body is: HTTP-Version = HTTP/1.1. If it is a response, it starts with &lt;HTTP/1.1&gt;.
- */
-public class BP1001 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1001(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- String httpHeader = entryContext.getMessageEntry().getHTTPHeaders();
-
- // If this is a request message, then check POST header
- if (entryContext
- .getMessageEntry()
- .getType()
- .equalsIgnoreCase(MessageEntry.TYPE_REQUEST))
- {
- Vector requestLine;
- if (((requestLine = this.validator.getPostRequest(httpHeader)) == null)
- || (requestLine.size() == 0))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- String method = (String) requestLine.get(0);
- //String requestURI = (String) requestLine.get(1);
- String httpVersion = (String) requestLine.get(2);
-
- //For each request message that is an HTTP POST
- if (method.equals(MessageValidator.HTTP_POST) && httpVersion != null)
- {
- if (httpVersion.equals(MessageValidator.HTTP_VERSION_1_1))
- {
- result = AssertionResult.RESULT_PASSED;
- }
- else
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail = this.validator.createFailureDetail(httpHeader, entryContext);
- }
- }
- }
- }
-
- // Otherwise it must be a response
- else
- {
- if (httpHeader.startsWith(MessageValidator.HTTP_VERSION_1_1))
- {
- result = AssertionResult.RESULT_PASSED;
- }
- else
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail = this.validator.createFailureDetail(httpHeader, entryContext);
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1002.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1002.java
deleted file mode 100644
index 7564c1569..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1002.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.MessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP1002.
- * If it is a request, the arg #2 of POST is &lt;HTTP/1.1&gt; or &lt;HTTP/1.0&gt;. If absent, first line
- * of the body is: HTTP-Version = HTTP/1.1. (or HTTP/1.0). If it is a response, it starts with
- * &lt;HTTP/1.1&gt; or &lt;HTTP/1.0&gt; or higher;
- */
-public class BP1002 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1002(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- String httpHeader = entryContext.getMessageEntry().getHTTPHeaders();
-
- // If this is a request message, then check POST for 1.1 or 1.0
- if (entryContext
- .getMessageEntry()
- .getType()
- .equalsIgnoreCase(MessageEntry.TYPE_REQUEST))
- {
- // Get each entry in the post header
- StringTokenizer postMessage = new StringTokenizer(httpHeader, " \r\n");
-
- // If there is no third token, then fail
- if (postMessage.countTokens() < 3)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(httpHeader, entryContext);
- }
- else
- {
- // Get the 3rd token (there must be a better way to do this?)
- String httpVersion = "";
- String messageType = "";
- for (int i = 0; i < 3; i++)
- {
- // Message type
- if (i == 0)
- messageType = postMessage.nextToken();
- else if (i == 2)
- httpVersion = postMessage.nextToken();
- else
- postMessage.nextToken();
- }
-
- if (!messageType.equals("POST"))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // If the third token is not HTTP/1.1 ot HTTP/1.0, then fail
- else if (
- (!httpVersion.equalsIgnoreCase(MessageValidator.HTTP_VERSION_1_1))
- && (!httpVersion.equalsIgnoreCase(MessageValidator.HTTP_VERSION_1_0)))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(httpHeader, entryContext);
- }
- }
- }
-
- // Else it is a response message
- else
- {
- // Response-Line (1st) = HTTP-Version SP Response-code SP Response-text CRLF
- StringTokenizer httpMessageTokenizer =
- new StringTokenizer(httpHeader, "\n\r\f");
-
- String startLine = null;
- try
- {
- if (httpMessageTokenizer.hasMoreTokens())
- {
- startLine = httpMessageTokenizer.nextToken();
- }
- else
- {
- // HTTP version info expected but not found
- // (state the fact in the exception message?)
- throw new AssertionFailException(httpHeader);
- }
-
- // check that protocol version indicates HTTP/1.0 or HTTP/1.1
- if (!startLine.startsWith(MessageValidator.HTTP_VERSION_1_1)
- && !startLine.startsWith(MessageValidator.HTTP_VERSION_1_0))
- {
- throw new AssertionFailException(httpHeader);
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1004.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1004.java
deleted file mode 100644
index 8b06ae766..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1004.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import java.util.StringTokenizer;
-
-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.MessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP1004.
- * The request message is a POST message, without any use of framework extension.
- */
-public class BP1004 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1004(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- String httpHeader = entryContext.getMessageEntry().getHTTPHeaders();
- StringTokenizer httpMessageTokenizer =
- new StringTokenizer(httpHeader, "\n\r\f");
-
- // Check if this is a POST message
- if (!httpHeader.startsWith(MessageValidator.HTTP_POST))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(httpHeader, entryContext);
- }
-
- String line = null;
- while (httpMessageTokenizer.hasMoreTokens()
- && (result.equals(AssertionResult.RESULT_PASSED)))
- {
- line = httpMessageTokenizer.nextToken();
- if ((line != null)
- && (line.startsWith("M-POST") || line.startsWith("Ext:")))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(httpHeader, entryContext);
- }
- } //End While
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1006.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1006.java
deleted file mode 100644
index b067ce09b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1006.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import java.util.Map;
-
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-
-/**
- * BP1006.
- */
-public class BP1006 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1006(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Parse the HTTP header
- String rawHTTPHeader = entryContext.getMessageEntry().getHTTPHeaders();
- Map httpHeader = HTTPUtils.getHttpHeaderTokens(rawHTTPHeader, ":");
-
- // Get the soap action header
- String soapAction = (String) httpHeader.get("SOAPAction".toUpperCase());
-
- // If there is no soap action header, then NA
- if (soapAction == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else if (!(soapAction.startsWith("\"")) || !(soapAction.endsWith("\"")))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "HTTP Header: \"" + rawHTTPHeader + "\".",
- entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1010.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1010.java
deleted file mode 100644
index faac735e3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1010.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Operation;
-
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.w3c.dom.Document;
-
-
-/**
- * BP1010.
- * It MUST NOT contain a SOAP Envelope: the HTTP entity-body must be empty.
- */
-public class BP1010 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1010(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- try
- {
- // Parse request message
- Document docRequest = entryContext.getRequestDocument();
-
- // get SOAPAction
- String headers = entryContext.getRequest().getHTTPHeaders();
- String action = null;
- if (headers != null)
- action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
-
- Binding binding = validator.analyzerContext.getCandidateInfo().getBindings()[0];
- TypesRegistry registry =
- new TypesRegistry(
- this.validator.getWSDLDocument().getDefinitions(),
- validator);
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- docRequest,
- action,
- binding,
- registry);
-
- if (match == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
-
- BindingOperation bindingOperation = match.getOperation();
- //find operation in port type
- Operation operation = bindingOperation.getOperation();
- if (operation == null)
- {
- result = AssertionResult.RESULT_FAILED;
- }
- else
- {
- if (operation.getOutput() == null)
- {
- String message = entryContext.getMessageEntry().getMessage();
- if (message.length() == 0)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- else
- {
- result = AssertionResult.RESULT_FAILED;
- }
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
- }
-
- if (result == AssertionResult.RESULT_FAILED)
- {
- failureDetail = this.validator.createFailureDetail(null, entryContext);
- }
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1101.java
deleted file mode 100644
index baecac158..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1101.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-
-/**
- * BP1101.
- * A response message that does not contain a SOAP message SHOULD be sent
- * using either a "200 OK" or "202 Accepted" HTTP status code.
- */
-public class BP1101 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1101(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- // response does not contains SOAP message
- if (entryContext.getMessageEntry().getMessage() == null
- || "".equals(entryContext.getMessageEntry().getMessage()))
- {
- // check HTTP status code
- String httpStatus =
- Utils.getHTTPStatusCode(
- entryContext.getMessageEntry().getHTTPHeaders());
- if ("200".equals(httpStatus));
- else if ("202".equals(httpStatus));
-
- // If 4xx, then result is notApplicable
- else if (httpStatus.startsWith("4"))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail =
- this.validator.createFailureDetail(
- "\nResponse message:\nHeaders:\n"
- + entryContext.getMessageEntry().getHTTPHeaders()
- + "Message:\n"
- + entryContext.getMessageEntry().getMessage(),
- entryContext);
- }
- }
- else
- {
- // response contains SOAP message
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1103.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1103.java
deleted file mode 100644
index 900938f1f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1103.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-
-/**
- * BP1103.
- * The request message should not contain a POST method.
- */
-public class BP1103 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1103(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- MessageEntry request = entryContext.getRequest();
- String requestHeaders = request.getHTTPHeaders();
-
- // Get HTTP status code
- String httpStatus =
- Utils.getHTTPStatusCode(
- entryContext.getMessageEntry().getHTTPHeaders());
-
- if (requestHeaders.startsWith("POST "))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else if (!"405".equals(httpStatus))
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail =
- this.validator.createFailureDetail(
- "\nRequest message:\nHeaders:\n"
- + entryContext.getRequest().getHTTPHeaders()
- + "\nMessage:\n"
- + entryContext.getRequest().getMessage()
- + "\n\nResponse message:\nHeaders:\n"
- + entryContext.getResponse().getHTTPHeaders()
- + "\nMessage:\n"
- + entryContext.getResponse().getMessage(),
- entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1104.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1104.java
deleted file mode 100644
index 4fcdbd756..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1104.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-
-/**
- * BP1104.
- * The request message should not contain a content-type of "text/xml".
- */
-public class BP1104 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1104(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // check request for the "text/xml" content type
- MessageEntry request = entryContext.getRequest();
- String headers = request.getHTTPHeaders();
- String contentType = (String) HTTPUtils.getHttpHeaderTokens(headers, ":")
- .get(HTTPConstants.HEADER_CONTENT_TYPE.toUpperCase());
-
- // Get HTTP status code
- String httpStatus =
- Utils.getHTTPStatusCode(
- entryContext.getMessageEntry().getHTTPHeaders());
-
- // If the request message has a content type of text/xml,
- // then the assertion is not applicable
- if (contentType != null
- && contentType.indexOf(WSIConstants.CONTENT_TYPE_TEXT_XML) != -1)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // check HTTP status code
- if (!"415".equals(httpStatus))
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail =
- this.validator.createFailureDetail(
- "\nRequest message:\nHeaders:\n"
- + entryContext.getRequest().getHTTPHeaders()
- + "\nMessage:\n"
- + entryContext.getRequest().getMessage()
- + "\n\nResponse message:\nHeaders:\n"
- + entryContext.getResponse().getHTTPHeaders()
- + "\nMessage:\n"
- + entryContext.getResponse().getMessage(),
- entryContext);
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1116.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1116.java
deleted file mode 100644
index 250f84f2b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1116.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.w3c.dom.Document;
-
-
-/**
- * BP1116.
- * SOAPAction header should contain a quoted string that has same
- * value as the value of the soapbind:operation/@soapAction attribute,
- * and an empty string ("") if there is no such attribute.
- */
-public class BP1116 extends AssertionProcessVisitor
-{
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1116(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private String action = null;
- private String headers = null;
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPOperation soapOper,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String soapAction = soapOper.getSoapActionURI();
- if (soapAction == null)
- {
- if (!"".equals(action))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "\nHTTP headers:\n" + headers + "\nsoapAction:\n" + soapAction;
- }
- }
- else
- {
- if (!soapAction.equals(action))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "\nHTTP headers:\n" + headers + "\nsoapAction:\n" + soapAction;
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.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
- {
- try
- {
- // Parse request message
- Document doc = entryContext.getMessageEntryDocument();
-
- // get SOAPAction
- headers = entryContext.getRequest().getHTTPHeaders();
- if (headers != null)
- action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
-
- if (action == null)
- throw new AssertionNotApplicableException();
-
- if (action.length() > 1
- && action.charAt(0) == '"'
- && action.charAt(action.length() - 1) == '"')
- {
- action = action.substring(1, action.length() - 1);
- }
-
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- doc,
- null,
- validator.analyzerContext.getCandidateInfo().getBindings()[0],
- new TypesRegistry(
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions(),
- validator),
- false);
-
- if (match != null)
- {
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitSOAPOperation(true);
- traversal.traverse(match.getOperation());
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- if (result == AssertionResult.RESULT_FAILED
- && failureDetailMessage != null)
- {
- failureDetail = this.validator.createFailureDetail(failureDetailMessage, entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4103.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4103.java
deleted file mode 100644
index e63a5cf14..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4103.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-/**
- * BP4103
- *
- * <context>For a candidate message in the message log file</context>
- * <assertionDescription>The message contains an HTTP Authentication header field</assertionDescription>
- */
-public class BP4103 extends AssertionProcess {
-
- private static final String HTTP_AUTH_SCHEME_BASIC = "Basic";
- private static final String HTTP_AUTH_SCHEME_DIGEST = "Digest";
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP4103(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Getting message headers
- String headers = entryContext.getMessageEntry().getHTTPHeaders();
- // If this is a request message
- if (entryContext.getMessageEntry().getType().equals(MessageEntry.TYPE_REQUEST))
- {
- // If the request headers contain authentication scheme "Basic" or "Digest"
- // or there are no HTTP Authentication headers, the assertion is not applicable
- if (!containsInvalidAuth(headers, HTTPConstants.HEADER_AUTHORIZATION)
- && !containsInvalidAuth(headers, HTTPConstants.HEADER_PROXY_AUTHORIZATION))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
- // else this is a response
- else
- {
- // If the response headers contain authentication scheme "Basic" or "Digest"
- // or there are no HTTP Authentication headers, the assertion is not applicable
- if (!containsInvalidAuth(headers, HTTPConstants.HEADER_WWW_AUTHENTICATE)
- && !containsInvalidAuth(headers, HTTPConstants.HEADER_PROXY_AUTHENTICATE))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
-
- // Assertion result has not been changed, HTTP Authentication headers
- // does not contain authentication scheme "Basic" or "Digest",
- // the assertion passed
- if (result.equals(AssertionResult.RESULT_PASSED))
- {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Checks whether HTTP headers contain HTTP Authentication headers that uses
- * authentication scheme other than "Basic" or "Digest".
- * @param headers HTTP headers.
- * @param header a header name being retrieved.
- * @return true if the HTTP Authentication header that uses authentication
- * scheme other than "Basic" or "Digest" is found, false otherwise.
- */
- private boolean containsInvalidAuth(String headers, String header)
- {
- // Getting a header value
- String headerValue = null;
- try
- {
- headerValue = (String) HTTPUtils.getHttpHeaderTokens(headers,":")
- .get(header.toUpperCase());
- }
- catch (Exception e) {}
-
- // If the header is presented
- if (headerValue != null)
- {
- // Retrieving authentication scheme
- int idxSP = headerValue.indexOf(" ");
- if (idxSP > -1)
- {
- headerValue = headerValue.substring(0, idxSP);
- }
- // If a scheme is neither "Basic" nor "Digest", return true
- if (!headerValue.equalsIgnoreCase(HTTP_AUTH_SCHEME_BASIC)
- && !headerValue.equalsIgnoreCase(HTTP_AUTH_SCHEME_DIGEST))
- {
- return true;
- }
- }
- return false;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4104.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4104.java
deleted file mode 100644
index 36d0cf961..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4104.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-/**
- * BP4104
- * <context>For a candidate message in the message log file containing an HTTP Header field that is not from the following list of specified header fields: (http://www.mnot.net/drafts/draft-nottingham-http-header-reg-00.txt)</context>
- * <assertionDescription>The message contains an HTTP Header field that is not from the following list of specified header fields: (http://www.mnot.net/drafts/draft-nottingham-http-header-reg-00.txt)</assertionDescription>
- */
-public class BP4104 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- private List knownHeaderNames;
-
- /**
- * @param BaseMessageValidator
- */
- public BP4104(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- knownHeaderNames = null;
- }
-
- private List getAllKnownHeaderNames() {
- if (knownHeaderNames == null) {
- knownHeaderNames = HTTPConstants.getAllKnownHeaderNames();
- }
- return knownHeaderNames;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- // getting HTTP Headers
- Map hmap = HTTPUtils.getHttpHeaderTokens(
- entryContext.getMessageEntry().getHTTPHeaders(), ":");
-
- Iterator i = hmap.keySet().iterator() ;
- while (i.hasNext()) {
- String headerName = (String) i.next();
- // If header name is not known, then the assertion passed
- if (!getAllKnownHeaderNames().contains(headerName.toUpperCase()))
- {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
-
- break;
- }
- }
-
- // If there is no HTTP header that is not from a list,
- // then the assertion is not applicable
- if (failureDetail == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4105.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4105.java
deleted file mode 100644
index d14f77888..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4105.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import java.util.StringTokenizer;
-
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-
-/**
- * BP4105
- * <context>For a candidate message in the message log file containing a Content-encoding HTTP header field with a value other than "gzip", "compress" or "deflate"</context>
- * <assertionDescription>The contained Content-encoding HTTP header field has a value other than "gzip", "compress" or "deflate".</assertionDescription>
- */
-public class BP4105 extends AssertionProcess {
-
- // All the registered content-coding value tokens (RFC2616) except "identity"
- private static final String GZIP_VALUE = "gzip";
- private static final String COMPRESS_VALUE = "compress";
- private static final String DEFLATE_VALUE = "deflate";
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP4105(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- // Getting the Content-Encoding HTTP header value
- String contentEncoding = (String) HTTPUtils.getHttpHeaderTokens(
- entryContext.getMessageEntry().getHTTPHeaders(),
- ":").get(HTTPConstants.HEADER_CONTENT_ENCODING.toUpperCase());
-
- if (contentEncoding != null)
- {
- // Lowering value's case because RFC2616 says
- // that all content-coding values are case-insensitive
- contentEncoding = contentEncoding.toLowerCase();
-
- // Multiple encodings can be applied to an entity,
- // so breaking the value into tokens
- StringTokenizer st = new StringTokenizer(contentEncoding, ",");
- while (st.hasMoreTokens())
- {
- String token = st.nextToken().trim();
- // If a token does not equal to any registered one
- // then the assertion passed
- if ( !token.equals(GZIP_VALUE)
- && !token.equals(COMPRESS_VALUE)
- && !token.equals(DEFLATE_VALUE)) {
-
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
-
- break;
- }
- }
- }
-
- // If there is no unregistered value of Content-Encoding,
- // then the assertion is not applicable
- if (failureDetail == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4106.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4106.java
deleted file mode 100644
index a278633b0..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4106.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-
-/**
- * BP4106
- * <context>For a candidate response message in the message log file that contains a transfer-encoding HTTP header field.</context>
- * <assertionDescription>The contained transfer-encoding HTTP header field has a value of "chunked"</assertionDescription>
- */
-public class BP4106 extends AssertionProcess {
-
- private static final String CHUNKED_VALUE = "chunked";
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP4106(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- // Getting a Transfer-Encoding HTTP header value
- String transferEncoding = (String) HTTPUtils.getHttpHeaderTokens(
- entryContext.getMessageEntry().getHTTPHeaders(),
- ":").get(HTTPConstants.HEADER_TRANSFER_ENCODING.toUpperCase());
-
- if (transferEncoding != null)
- {
- // Lowering value's case because RFC2616 says
- // that all transfer-coding values are case-insensitive
- transferEncoding = transferEncoding.toLowerCase();
-
- // If the value is other than "chunked", then the assertion passed
- if (!transferEncoding.equals(CHUNKED_VALUE)) {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
- }
- }
-
- // If there is no Tranfer-Encoding or its value is "chunked",
- // then the assertion is not applicable
- if (failureDetail == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4107.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4107.java
deleted file mode 100644
index e699a3320..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4107.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-
-/**
- * BP4107
- * <context>For a request message containing an Upgrade field in the HTTP Headers.</context>
- * <assertionDescription>The request message contains an Upgrade field in the HTTP Headers.</assertionDescription>
- */
-public class BP4107 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP4107(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Getting the Upgrade HTTP header value
- String upgrage = (String) HTTPUtils.getHttpHeaderTokens(
- entryContext.getMessageEntry().getHTTPHeaders(),
- ":").get(HTTPConstants.HEADER_UPGRADE.toUpperCase());
-
- // If the header is presented, then the assertion passed
- if (upgrage != null)
- {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
- }
- // else the assertion is not applicable
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/MessageValidatorImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/MessageValidatorImpl.java
deleted file mode 100644
index 015bff2a2..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/MessageValidatorImpl.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2003 IBM Corporation, Parasoft 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
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-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.MessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-
-/**
- * @version 1.0
- */
-public class MessageValidatorImpl
- extends BaseMessageValidator
- implements MessageValidator
-{
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isPrimaryEntryTypeMatch(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- protected boolean isPrimaryEntryTypeMatch(
- TestAssertion testAssertion,
- EntryContext entryContext)
- {
- boolean match = false;
-
- // Verify that the entry and test assertion have the same primary context
- if ((testAssertion.getEntryTypeName().equals(EntryType.TYPE_MESSAGE_ANY))
- || (testAssertion.getEntryTypeName().equals(EntryType.TYPE_MESSAGE_REQUEST)
- && (entryContext
- .getEntry()
- .getEntryType()
- .getTypeName()
- .equals(EntryType.TYPE_MESSAGE_REQUEST)))
- || (testAssertion.getEntryTypeName().equals(EntryType.TYPE_MESSAGE_RESPONSE)
- && (entryContext
- .getEntry()
- .getEntryType()
- .getTypeName()
- .equals(EntryType.TYPE_MESSAGE_RESPONSE)))
- || testAssertion.getEntryTypeName().equals(EntryType.TYPE_MIME_ROOT_PART)
- || testAssertion.getEntryTypeName().equals(EntryType.TYPE_MIME_PART))
- {
- match = true;
- }
-
- return match;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP1003.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP1003.java
deleted file mode 100644
index 461eae6c4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP1003.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import java.util.Map;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-
-/**
- * SSBP1003.
- *
- * <context>For a candidate non-multipart/related message in the log file, which has a non-empty entity-body</context>
- * <assertionDescription>
- * The logged SOAP envelope is a UTF-8 transcript of an envelope originally encoded as UTF-8 or UTF-16.
- * The HTTP Content-Type header's charset value is either UTF-8 or UTF-16. Looking at the messageContent
- * element of the logged message, either
- * (1) it has a BOM attribute which maps the charset value in the Content-Type header, or
- * (2) it has it has an XML declaration which matches the charset value in the Content-Type header, or
- * (3) there is no BOM attribute and no XML declaration, and the charset value is UTF-8.
- * </assertionDescription>
- *
- * @author lauzond
- */
-public class SSBP1003 extends AssertionProcess
-{
- protected final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public SSBP1003(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // If there is a response message for one-way operation, the assertion is not applicable
- if (validator.isOneWayResponse(entryContext))
- {
- throw new AssertionNotApplicableException();
- }
-
- String httpHeader = entryContext.getMessageEntry().getHTTPHeaders();
-
- Map httpHeaderMap = HTTPUtils.getHttpHeaderTokens(httpHeader, ":");
- String contentType = (String) httpHeaderMap.get("Content-Type".toUpperCase());
-
- if (contentType == null)
- {
- throw new AssertionFailException(
- "The Content-Type header is not present.");
- }
-
- contentType = contentType.trim();
- String charset = contentType.substring(
- contentType.indexOf(";") + 1, contentType.length());
- charset = charset.trim();
- if (!charset.startsWith("charset"))
- {
- throw new AssertionFailException(
- "Missing or bad \"charset\" attribute in the Content-Type header: "
- + charset);
- }
-
- String charsetValue = charset.substring(
- charset.indexOf("=") + 1, charset.length());
- if (charsetValue.startsWith("\""))
- {
- charsetValue = charsetValue.substring(1, charsetValue.length() - 1);
- }
-
- if (!charsetValue.equalsIgnoreCase("utf-8")
- && !charsetValue.equalsIgnoreCase("utf-16"))
- {
- throw new AssertionFailException("The value of the \"charset\" "
- + "attribute of the Content-Type header is " + contentType);
- }
- // Parse log message
- //gets first string
- int idx = entryContext.getMessageEntry().getMessage().indexOf("<?xml");
- if (idx == -1)
- {
- throw new AssertionPassException();
- }
-
- int idx2 = entryContext.getMessageEntry().getMessage().indexOf("?>");
- if (idx2 == -1)
- {
- throw new AssertionPassException();
- }
-
- String xmlDeclaration = entryContext.getMessageEntry().getMessage()
- .substring(idx, idx2 + "?>".length());
-
- idx = xmlDeclaration.indexOf("encoding");
- if (idx == -1)
- {
- if (charsetValue.equalsIgnoreCase("utf-8"))
- {
- throw new AssertionPassException();
- }
- else
- {
- throw new AssertionFailException("There is no XML declaration and the"
- + " charset value in the Content-Type header is not UTF-8."
- + "\nCharset value in the Content-Type header: " + charsetValue);
- }
- }
-
- int idxQ = xmlDeclaration.indexOf('\'', idx);
- int idxQQ = xmlDeclaration.indexOf('\"', idx);
- int idxQuote = -1;
- char qouteCh = '\0';
- if (idxQ == -1)
- {
- idxQuote = idxQQ;
- qouteCh = '\"';
- }
- else
- {
- if (idxQQ == -1)
- {
- idxQuote = idxQ;
- qouteCh = '\'';
- }
- else
- {
- if (idxQQ < idxQ)
- {
- idxQuote = idxQQ;
- qouteCh = '\"';
- }
- else
- {
- idxQuote = idxQ;
- qouteCh = '\'';
- }
- }
- }
-
- if (idxQuote == -1 || qouteCh == '\0')
- {
- throw new AssertionPassException();
- }
-
- int idxLQoute = xmlDeclaration.indexOf(qouteCh, idxQuote + 1);
-
- if (idxLQoute == -1)
- {
- throw new AssertionPassException();
- }
-
- String xmlEncoding =
- xmlDeclaration.substring(idxQuote + 1, idxLQoute);
- if (charsetValue.equalsIgnoreCase(xmlEncoding))
- {
- // If there is a BOM, then check that it is the same as the xmlEncoding
- int bom = 0;
- if ((bom = entryContext.getMessageEntry().getBOM()) != 0)
- {
- if ((bom == WSIConstants.BOM_UTF8
- && !xmlEncoding.equalsIgnoreCase("utf-8"))
- || ((bom == WSIConstants.BOM_UTF16
- && !xmlEncoding.equalsIgnoreCase("utf-16")))
- || ((bom == WSIConstants.BOM_UTF16_BIG_ENDIAN
- && !xmlEncoding.equalsIgnoreCase("utf-16"))))
- {
- throw new AssertionFailException(
- "The BOM and XML declaration do not match.");
- }
- }
-
- throw new AssertionPassException();
- }
- else
- {
- throw new AssertionFailException("There is an XML declaration, but its "
- + "encoding value does not match the charset value.\n"
- + "Charset value in the Content-Type header: " + charsetValue
- + "\nEncoding in the XML declaration: " + xmlEncoding);
- }
- }
- catch (AssertionPassException e)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5100.java
deleted file mode 100644
index f62152a45..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5100.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-
-
-/**
- * SSBP5100
- * <context>For a candidate message in the log file, with an HTTP entity-body.</context>
- * <assertionDescription>The SOAP envelope is the exclusive payload of the HTTP entity-body.</assertionDescription>
- */
-public class SSBP5100 extends AssertionProcess {
-
- protected final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public SSBP5100(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- try
- {
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
-
- // If the message is empty or invalid, the assertion is not applicable
- if (doc == null)
- {
- if (this.validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
- else
- throw new AssertionFailException();
- }
- if (!doc.getDocumentElement().getLocalName().equals(XMLUtils.SOAP_ELEM_ENVELOPE))
- throw new AssertionFailException();
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- testAssertion.getFailureMessage(),
- entryContext);
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5101.java
deleted file mode 100644
index 82ae52074..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5101.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-/**
- * SSBP5101
- * <context>For a candidate message in the log file.</context>
- * <assertionDescription>A message must have a "Content-Type" HTTP header field. The "Content-Type" HTTP header field must have a field-value whose media type is "text/xml".</assertionDescription>
- *
- * @author lauzond
- */
-public class SSBP5101 extends AssertionProcess {
-
- protected final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public SSBP5101(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- // getting Content-Type HTTP header
- String contentType = (String) HTTPUtils.getHttpHeaderTokens(
- entryContext.getMessageEntry().getHTTPHeaders(),
- ":").get(HTTPConstants.HEADER_CONTENT_TYPE.toUpperCase());
-
- // if Content-Type header is not presented
- // or does not equal to text/xml, then the assertion is failed
- if (contentType == null
- || !contentType.startsWith(WSIConstants.CONTENT_TYPE_TEXT_XML))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- testAssertion.getFailureMessage(),
- entryContext);
- }
- return this.validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1001.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1001.java
deleted file mode 100644
index 53066b547..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1001.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1001
- */
-public class WSI1001 extends BP1001
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1001(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1002.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1002.java
deleted file mode 100644
index cb4308bf4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1002.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1002
- */
-public class WSI1002 extends BP1002
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1002(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1003.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1003.java
deleted file mode 100644
index 7d041049f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1003.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1003
- */
-public class WSI1003 extends SSBP1003
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1003(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1004.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1004.java
deleted file mode 100644
index adfad8642..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1004.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1004
- */
-public class WSI1004 extends BP1004
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1004(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1005.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1005.java
deleted file mode 100644
index f31c00676..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1005.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1005;
-
-/**
- * WSI1005
- */
-public class WSI1005 extends BP1005
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1005(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1006.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1006.java
deleted file mode 100644
index 72d6f8824..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1006.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1006
- */
-public class WSI1006 extends BP1006
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1006(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1007.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1007.java
deleted file mode 100644
index 9385aaaa8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1007.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1007;
-
-/**
- * WSI1007
- */
-public class WSI1007 extends BP1007
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1007(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1008.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1008.java
deleted file mode 100644
index 92cd0eeab..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1008.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1008;
-
-/**
- * WSI1008
- */
-public class WSI1008 extends BP1008
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1008(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1009.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1009.java
deleted file mode 100644
index 5b68ebe20..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1009.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1009;
-
-/**
- * WSI1009
- */
-public class WSI1009 extends BP1009
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1009(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1010.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1010.java
deleted file mode 100644
index 022d98692..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1010.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1010
- */
-public class WSI1010 extends BP1010
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1010(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1011.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1011.java
deleted file mode 100644
index cadcdcb4a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1011.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1011;
-
-/**
- * WSI1011
- */
-public class WSI1011 extends BP1011
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1011(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1012.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1012.java
deleted file mode 100644
index 57f571be1..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1012.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1012;
-
-/**
- * WSI1012
- */
-public class WSI1012 extends BP1012
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1012(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1013.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1013.java
deleted file mode 100644
index 587e597bf..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1013.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1013;
-
-/**
- * WSI1013
- */
-public class WSI1013 extends BP1013
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1013(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1031.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1031.java
deleted file mode 100644
index dcd391783..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1031.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1031;
-
-/**
- * WSI1031
- */
-public class WSI1031 extends BP1031
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1031(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1100.java
deleted file mode 100644
index 4c20a04cd..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1100.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1100;
-
-/**
- * WSI1100
- */
-public class WSI1100 extends BP1100
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1100(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1101.java
deleted file mode 100644
index cbb113c82..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1101.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1101
- */
-public class WSI1101 extends BP1101
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1101(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1102.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1102.java
deleted file mode 100644
index f13832dca..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1102.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import java.io.StringReader;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.HttpHeadersValidator;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-
-/**
- * BPWSI4.
- * The request message should be invalid (HTTP request malformed,
- * XML not well formed, ...).
- */
-public class WSI1102 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1102(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.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
- {
-
- String httpHeader = entryContext.getMessageEntry().getHTTPHeaders();
-
- String requestMessage = null;
- //String responseMessage = null;
- String contentType = null;
- result = null;
- //
-
- try
- {
- // check HTTP status code
- String httpStatus =
- Utils.getHTTPStatusCode(
- entryContext.getMessageEntry().getHTTPHeaders());
- if ("400".equals(httpStatus))
- {
-
- requestMessage = entryContext.getRequest().getMessage();
-
- String requestHTTPHeaders =
- entryContext.getRequest().getHTTPHeaders();
-
- //check request HTTP Headers
-
- //HttpHeadersValidator validator = new HttpHeadersValidator();
-
- if (!HttpHeadersValidator
- .validateHttpRequestHeaders(requestHTTPHeaders))
- {
- result = AssertionResult.RESULT_PASSED;
- }
-
- //check request xml message
-
- contentType = (String) HTTPUtils.getHttpHeaderTokens(httpHeader, ":")
- .get(HTTPConstants.HEADER_CONTENT_TYPE.toUpperCase());
- if (contentType.indexOf(WSIConstants.CONTENT_TYPE_TEXT_XML) != -1)
- {
- try
- {
- if (requestMessage != null)
- {
- DocumentBuilderFactory factory =
- DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = factory.newDocumentBuilder();
- //Document doc = builder.parse(new InputSource(new StringReader(requestMessage)));
- builder.parse(
- new InputSource(new StringReader(requestMessage)));
- }
-
- }
- catch (SAXException e)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- catch (Exception e)
- {
- new WSIException(e.getMessage(), e);
- }
- }
-
- if (result == null)
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail =
- this.validator.createFailureDetail(
- "\nRequest message:\nHeaders:\n"
- + entryContext.getRequest().getHTTPHeaders()
- + "Message:\n"
- + entryContext.getRequest().getMessage()
- + "\n\nResponse message:\nHeaders:\n"
- + entryContext.getResponse().getHTTPHeaders()
- + "Message:\n"
- + entryContext.getResponse().getMessage(),
- entryContext);
- }
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
- catch (WSIException wsie)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1103.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1103.java
deleted file mode 100644
index 624652944..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1103.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1103
- */
-public class WSI1103 extends BP1103
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1103(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1104.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1104.java
deleted file mode 100644
index 422e46dda..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1104.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1104.
- * The request message should not contain a content-type of "text/xml".
- */
-public class WSI1104 extends BP1104
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1104(BaseMessageValidator impl)
- {
- super(impl);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1105.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1105.java
deleted file mode 100644
index 4d1a3bc26..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1105.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.SetCookie2Validator;
-
-
-/**
- * BPWSI4.
- * The Cookies should conform to RFC2965.
- */
-public class WSI1105 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1105(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- SetCookie2Validator cookieVal = new SetCookie2Validator();
- String headers = entryContext.getMessageEntry().getHTTPHeaders();
- if (entryContext
- .getMessageEntry()
- .getType()
- .equalsIgnoreCase(MessageEntry.TYPE_RESPONSE))
- {
- // if response trom server
- String setCookie2 =
- (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("Set-Cookie2".toUpperCase());
- if (setCookie2 == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- if (cookieVal.isSetCookie2(setCookie2.trim()))
- result = AssertionResult.RESULT_PASSED;
- else
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail =
- this.validator.createFailureDetail(
- "\nMessage:\nHeaders:\n"
- + entryContext.getMessageEntry().getHTTPHeaders()
- + "\nSOAP message:\n"
- + entryContext.getMessageEntry().getMessage(),
- entryContext);
- }
- }
- }
- else
- {
- // if request to the server
- String cookie =
- (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("Cookie");
- if (cookie == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- if (cookieVal.isCookie(cookie.trim()))
- result = AssertionResult.RESULT_PASSED;
- else
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail =
- this.validator.createFailureDetail(
- "\nMessage:\nHeaders:\n"
- + entryContext.getMessageEntry().getHTTPHeaders()
- + "\nSOAP message:\n"
- + entryContext.getMessageEntry().getMessage(),
- entryContext);
- }
- }
- }
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1107.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1107.java
deleted file mode 100644
index f1913e586..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1107.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1107;
-
-/**
- * WSI1107
- */
-public class WSI1107 extends BP1107
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1107(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1108.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1108.java
deleted file mode 100644
index a5236e6d7..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1108.java
+++ /dev/null
@@ -1,415 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Definition;
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.NullUtil;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.util.WSDLUtil;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * BPWSI4.
- * Each soapbind extension element with a wsdl:required
- * attribute of false must appear in a message.
- */
-public class WSI1108 extends AssertionProcessVisitor implements WSITag
-{
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1108(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private OperationSignature.OperationMatch match = null;
- private EntryContext entryContext = null;
- private OperationSignature responseSig = null;
- private Vector headerRarts = null;
- private boolean visitFault = false;
- private boolean existSOAPHeader = true;
- private boolean isRequest = false;
- private boolean existSOAPHeaderFault = true;
-
- /**
- * @see org.eclipse.wst.wsi.wsdl.traversal.WSDLVisitor#visit(SOAPBody, Object, WSDLTraversalContext)
- */
- public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
- {
-
- // if "wsdl:required" is true then return
- if (body.getRequired() != null
- && body.getRequired().booleanValue() == true)
- return;
-
- // assert parent instanceof BindingOutput
- BindingOperation bop = ctx.getBindingOperation();
- if (bop.getOperation() == null
- || bop.getOperation().getOutput() == null
- || bop.getOperation().getOutput().getMessage() == null)
- return;
- Message msg = bop.getOperation().getOutput().getMessage();
- List parts =
- WSDLUtil.getParts(
- bop.getOperation(),
- msg,
- body,
- match.getOperationStyle());
-
- QName additionalName = null;
- // if operation is rpc, add to parts qname qith function name
- if (WSIConstants
- .ATTRVAL_SOAP_BIND_STYLE_RPC
- .equals(match.getOperationStyle()))
- {
- // found out target namespace
- String namespace = body.getNamespaceURI();
- if (namespace == null || namespace.length() == 0)
- // !! ATTENTION
- // namespace should be retrieved from service target nameapce
- namespace = ctx.getBinding().getQName().getNamespaceURI();
-
- // insert operation name as first signature part
- additionalName =
- new QName(
- namespace,
- bop
- .getOperation()
- .getOutput()
- .getMessage()
- .getQName()
- .getLocalPart());
- }
-
- // create the signature of this operation
- OperationSignature op =
- new OperationSignature(
- parts,
- null,
- new TypesRegistry(
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions(),
- validator),
- false);
- if (additionalName != null)
- op.getSignature().add(0, additionalName);
-
- if (op.getSignature().equals(responseSig.getSignature()))
- {
- // ctx.cancelBindingOperationProcessing();
- }
- else
- {
- // create the signature of this operation
- op =
- new OperationSignature(
- parts,
- null,
- new TypesRegistry(
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions(),
- validator),
- true);
-
- if (additionalName != null)
- op.getSignature().add(0, additionalName);
- if (op.getSignature().equals(responseSig.getSignature()))
- {
- // ctx.cancelBindingOperationProcessing();
- }
- else
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "\nMessage:\n" + entryContext.getMessageEntry().getMessage(),
- entryContext);
- ctx.cancelBindingOperationProcessing();
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPHeader, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPHeader header,
- Object parent,
- WSDLTraversalContext ctx)
- {
-
- if (existSOAPHeaderFault == false)
- {
- existSOAPHeader = false;
- ctx.cancelBindingOperationProcessing();
- return;
- }
- // if "wsdl:required" is true then return
- if (header.getRequired() != null
- && header.getRequired().booleanValue() == true)
- return;
- // find headr part
- Definition d = (Definition) ctx.getParameter("definition");
- TypesRegistry tReg = (TypesRegistry) ctx.getParameter("TypesRegistry");
- Part mesPart =
- WSDLUtil.getPart(d.getMessage(header.getMessage()), header.getPart());
-
- // test this part and parts from header
- QName partQName = mesPart.getTypeName();
- if (partQName == null)
- partQName = tReg.getType(mesPart.getElementName());
- if (partQName == null)
- throw new IllegalArgumentException(
- "Part type can not be null." + mesPart.getElementName().toString());
- String local = partQName.getLocalPart();
- String ns = partQName.getNamespaceURI();
-
- existSOAPHeader = false;
- for (int i = 0; i < headerRarts.size(); i++)
- {
- Element elem = (Element) headerRarts.get(i);
- if (elem.getLocalName().equals(local)
- && NullUtil.equals(ns, elem.getNamespaceURI()))
- {
- existSOAPHeader = true;
- break;
- }
- }
- if (existSOAPHeader == true)
- ctx.cancelSOAPHeaderProcessing();
- if (isRequest == true)
- ctx.cancelBindingOperationProcessing();
- if (existSOAPHeader == false && isRequest == false)
- existSOAPHeaderFault = false;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPHeaderFault, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPHeaderFault headerFault,
- Object parent,
- WSDLTraversalContext ctx)
- {
- // find headr part
- Definition d = (Definition) ctx.getParameter("definition");
- TypesRegistry tReg = (TypesRegistry) ctx.getParameter("TypesRegistry");
- Part mesPart =
- WSDLUtil.getPart(
- d.getMessage(headerFault.getMessage()),
- headerFault.getPart());
-
- // test this part and parts from headerfault
- QName partQName = mesPart.getTypeName();
- if (partQName == null)
- partQName = tReg.getType(mesPart.getElementName());
- if (partQName == null)
- throw new IllegalArgumentException(
- "Part type can not be null." + mesPart.getElementName().toString());
- String local = partQName.getLocalPart();
- String ns = partQName.getNamespaceURI();
-
- for (int i = 0; i < headerRarts.size(); i++)
- {
- Element elem = (Element) headerRarts.get(i);
- if (elem.getLocalName().equals(local)
- && NullUtil.equals(ns, elem.getNamespaceURI()))
- {
- existSOAPHeaderFault = true;
- break;
- }
- }
- if (existSOAPHeaderFault == true)
- ctx.cancelSOAPHeaderProcessing();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPFault, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPFault fault, Object parent, WSDLTraversalContext ctx)
- {
- // set in true if any SOAPFault exist
- visitFault = true;
- }
-
- /* (non-Javadoc)
- * @see org.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
- {
-
- if (this.validator.isOneWayResponse(entryContext))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- this.entryContext = entryContext;
- // Parse request message
- Document doc = entryContext.getRequestDocument();
- // create request signature
- match =
- OperationSignature.matchOperation(
- doc,
- null,
- validator.analyzerContext.getCandidateInfo().getBindings()[0],
- new TypesRegistry(
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions(),
- validator),
- false);
-
- // if such operation exist
- if (match != null)
- {
- isRequest =
- MessageEntry.TYPE_REQUEST.equals(
- entryContext.getMessageEntry().getType());
- // Parse message
- doc = entryContext.getMessageEntryDocument();
-
- if (!isRequest)
- {
- responseSig = new OperationSignature(doc);
- if (WSIConstants
- .ATTRVAL_SOAP_BIND_STYLE_RPC
- .equals(match.getOperationStyle()))
- responseSig.createRPCSignature();
- }
- // extract all headers from message
- Element headerElem =
- XMLUtils.findChildElement(
- doc.getDocumentElement(),
- WSITag.ELEM_SOAP_HEADER);
- headerRarts = new Vector();
- if (headerElem != null)
- headerRarts = XMLUtils.getChildElements(headerElem);
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitSOAPBody(true);
- traversal.visitSOAPHeader(true);
- traversal.visitSOAPHeaderFault(true);
- traversal.visitSOAPFault(true);
-
- traversal.ignoreReferences();
- traversal.ignoreBindingInput2SOAPBody();
-
- if (isRequest)
- traversal.ignoreBindingOutput();
- else
- traversal.ignoreBindingInput2SOAPHeader();
-
- if (responseSig != null && responseSig.isFault())
- traversal.ignoreBindingOutput();
- else
- traversal.ignoreBindingFault();
-
- existSOAPHeaderFault = true;
- Map m = new HashMap();
- WSDLUtil.expandDefinition(
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions());
- m.put(
- "definition",
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions());
- TypesRegistry tReg =
- new TypesRegistry(
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions(),
- validator);
- m.put("TypesRegistry", tReg);
- traversal.traverse(match.getOperation(), m);
-
- if (isRequest == false)
- if (existSOAPHeaderFault == true)
- existSOAPHeader = true;
-
- if (responseSig != null
- && responseSig.isFault()
- && visitFault == false)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "\nMessage:\n" + entryContext.getMessageEntry().getMessage(),
- entryContext);
- }
- if (existSOAPHeader == false)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "\nMessage:\n" + entryContext.getMessageEntry().getMessage(),
- entryContext);
- }
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1109.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1109.java
deleted file mode 100644
index 8bf44cf63..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1109.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * WSI1109.
- * Any conformance claims MUST be children of the soap:Header element.
- */
-public class WSI1109 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1109(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- if ((entryContext.getMessageEntry() != null)
- && (!this.validator.isOneWayResponse(entryContext)))
- {
- try
- {
- // Parse message
- Document doc = entryContext.getMessageEntryDocument();
- Element root = doc.getDocumentElement();
- // find "Header" element
- NodeList headerList =
- root.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Header");
- Element headerElem = null;
- if (headerList != null && headerList.getLength() != 0)
- headerElem = (Element) headerList.item(0);
-
- // find "Claim" element
- NodeList claimList =
- root.getElementsByTagNameNS(WSIConstants.NS_URI_CLAIM, "Claim");
- if (claimList == null || claimList.getLength() == 0)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- for (int i = 0; i < claimList.getLength(); i++)
- {
- if (headerElem == null
- || claimList.item(i).getParentNode() != headerElem)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "\nSOAP message:\n"
- + entryContext.getMessageEntry().getMessage(),
- entryContext);
- break;
- }
- }
- }
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1110.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1110.java
deleted file mode 100644
index 8b3b9e247..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1110.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * WSI1110.
- * Any conformance claims MUST adhere to the WS-I conformance
- * claim schema defined in the Basic Profile.
- */
-public class WSI1110 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1110(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- Document doc;
- if (entryContext.getMessageEntry() != null
- && !this.validator.isOneWayResponse(entryContext)
- && (doc = entryContext.getMessageEntryDocument()) != null)
- {
- Element root = doc.getDocumentElement();
- // find "Claim" element
- NodeList claimList =
- root.getElementsByTagNameNS(WSIConstants.NS_URI_CLAIM, "Claim");
- if (claimList == null || claimList.getLength() == 0)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- for (int i = 0; i < claimList.getLength(); i++)
- {
- Element elem = (Element) claimList.item(i);
- // check "conformsTo" attribute
- Node node = elem.getAttributeNode("conformsTo");
- if (node == null)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "\nSOAP message:\n"
- + entryContext.getMessageEntry().getMessage(),
- entryContext);
- break;
- }
- /* This is checked in WSI1111
- // check "mustUnderstand" attribute
- node = elem.getAttributeNodeNS(WSIConstants.NS_URI_SOAP, "mustUnderstand");
- if (node != null)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = createFailureDetail("\nSOAP message:\n" + entryContext.getMessageEntry().getMessage(), entryContext);
- break;
- }
- */
- }
- }
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1111.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1111.java
deleted file mode 100644
index b84e3fb79..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1111.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * WSI1111.
- * Any conformance claims MUST NOT use soap:mustUnderstand='1'.
- */
-public class WSI1111 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1111(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- Document doc;
- if (entryContext.getMessageEntry() != null
- && !this.validator.isOneWayResponse(entryContext)
- && (doc = entryContext.getMessageEntryDocument()) != null)
- {
- Element root = doc.getDocumentElement();
- // find "Claim" element
- NodeList claimList =
- root.getElementsByTagNameNS(WSIConstants.NS_URI_CLAIM, "Claim");
- if (claimList != null && claimList.getLength() != 0)
- {
- // if contains "Claim" element find all "Header" elements
- NodeList headerList =
- root.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Header");
- if (headerList != null && headerList.getLength() != 0)
- {
- for (int iHeader = 0; iHeader < headerList.getLength(); iHeader++)
- {
- // find all "Header" child elements
- Node child = headerList.item(iHeader).getFirstChild();
- while (child != null)
- {
- if (child.getNodeType() == Node.ELEMENT_NODE)
- {
- // if contains "mustUnderstand" -> fail
- String attrVal =
- ((Element) child).getAttributeNS(
- WSIConstants.NS_URI_SOAP,
- "mustUnderstand");
- if (attrVal != null && !"".equals(attrVal))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "\nSOAP message:\n"
- + entryContext.getMessageEntry().getMessage(),
- entryContext);
- iHeader = headerList.getLength();
- break;
- }
- }
- child = child.getNextSibling();
- }
- }
- }
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1116.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1116.java
deleted file mode 100644
index f289dd6c9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1116.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1116
- */
-public class WSI1116 extends BP1116
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1116(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1121.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1121.java
deleted file mode 100644
index 3b3ebae6b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1121.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * BPWSI4.
- */
-public class WSI1121 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1121(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- try
- {
- // GT: -- start: base on wsi1011 - should refactor this
-
- Binding[] bindings = validator.analyzerContext.getCandidateInfo().getBindings();
-
- // get soap message child name
- // Get the DOM contents of the message soap:body (if non-empty)
- Document messageDoc = null;
-
- QName messagePartElementQName = null;
- if (!entryContext.getMessageEntry().getMessage().equals(""))
- {
- messageDoc =
- XMLUtils.parseXML(entryContext.getMessageEntry().getMessage());
- // get soap operation name from the soap:body
-
- // NOTE: getSoapBodyChild() may return null, if the soap:body did not contain any child elements
- Element soapMessageElement = this.validator.getSoapBodyChild(messageDoc);
-
- // for doc-lit... find the wsdl:part from one of the specified operations that has
- // the soap element used in the message.
- // we are looking for a part with an element attrib val matching the soap message element
- if (soapMessageElement != null)
- {
- messagePartElementQName =
- new QName(
- soapMessageElement.getNamespaceURI(),
- soapMessageElement.getLocalName());
- }
- }
-
- if ((messageDoc == null) || this.validator.isFault(messageDoc))
- {
- // empty messages and messages containing soap:Faults do not qualify for this TA
- throw new AssertionNotApplicableException();
- }
-
- BindingOperation[] docBindingOperations =
- this.validator.getMatchingBindingOps(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC,
- bindings);
- // list of operations that match the <wsdl:input> or <wsdl:output> (depending on entryType)
- // for part element="..."
- // (ISSUE: what about part type="..."?)
- BindingOperation[] potentialDocLitOps =
- this.validator.getDocLitOperations(
- entryContext.getEntry().getEntryType(),
- messagePartElementQName,
- docBindingOperations);
- // GT: --- end: base on wsi1011
-
- //
- if (potentialDocLitOps.length == 0)
- {
- // not doc-lit so quit
- throw new AssertionNotApplicableException();
- }
-
- // We know there is a doc-lit match, so now try to validate the soap message against the
- // referenced schema
-
- // GT - how to reference the schema document?? need to use the <wsdl:part>, or do it purely
- // from the soap message elements?
- // ie body, envelope or wsdl??
-
- // <experiment>
-
- boolean isSchemaValid;
-
- try {
- isSchemaValid = this.validator.messageIsDocLitSchemaValid(entryContext);
- } catch (Exception e) {
- throw new AssertionFailException();
- }
- // </experiment>
-
-
- //isSchemaValid = true; // for now, getting this far does it
-
- if (isSchemaValid)
- {
- throw new AssertionPassException();
- }
- else
- {
- throw new AssertionFailException();
- }
-
- }
- catch (AssertionPassException e)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1201.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1201.java
deleted file mode 100644
index 0c6f087ce..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1201.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1201;
-
-/**
- * WSI1201
- */
-public class WSI1201 extends BP1201
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1201(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1202.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1202.java
deleted file mode 100644
index 7a31cd6cc..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1202.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1202;
-
-/**
- * WSI1202
- */
-public class WSI1202 extends BP1202
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1202(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1203.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1203.java
deleted file mode 100644
index 363bcbf52..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1203.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1203;
-
-/**
- * WSI1203
- */
-public class WSI1203 extends BP1203
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1203(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1204.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1204.java
deleted file mode 100644
index 16dda543b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1204.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1204;
-
-/**
- * WSI1204
- */
-public class WSI1204 extends BP1204
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1204(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1208.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1208.java
deleted file mode 100644
index 7b9496314..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1208.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1208;
-
-/**
- * WSI1208
- */
-public class WSI1208 extends BP1208
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1208(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1211.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1211.java
deleted file mode 100644
index 63f57c5fd..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1211.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1211;
-
-/**
- * WSI1211
- */
-public class WSI1211 extends BP1211
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1211(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1301.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1301.java
deleted file mode 100644
index 9f0eb82b0..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1301.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1301;
-
-/**
- * WSI1301
- */
-public class WSI1301 extends BP1301
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1301(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1302.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1302.java
deleted file mode 100644
index 6e976fe35..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1302.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1302;
-
-/**
- * WSI1302
- */
-public class WSI1302 extends BP1302
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1302(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1305.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1305.java
deleted file mode 100644
index bb2e13acb..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1305.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1305;
-
-/**
- * WSI1305
- */
-public class WSI1305 extends BP1305
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1305(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1306.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1306.java
deleted file mode 100644
index b610628b7..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1306.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1306;
-
-/**
- * WSI1306
- */
-public class WSI1306 extends BP1306
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1306(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1307.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1307.java
deleted file mode 100644
index 8c705a85a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1307.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1307;
-
-/**
- * WSI1307
- */
-public class WSI1307 extends BP1307
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1307(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1308.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1308.java
deleted file mode 100644
index e2271cf89..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1308.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1308;
-
-/**
- * WSI1308
- */
-public class WSI1308 extends BP1308
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1308(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1309.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1309.java
deleted file mode 100644
index ee6435731..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1309.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1309;
-
-/**
- * WSI1309
- */
-public class WSI1309 extends BP1309
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1309(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1311.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1311.java
deleted file mode 100644
index ea98faa07..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1311.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-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.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BPWSI4.
- * The response (SOAP envelope) should be carried by an HTTP
- * response, over same HTTP connection as the Request.
- */
-public class WSI1311 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1311(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- result = AssertionResult.RESULT_PASSED;
- boolean isOneWayResponse = this.validator.isOneWayResponse(entryContext);
-
- Document docResponse = null;
- if (!isOneWayResponse)
- docResponse = entryContext.getResponseDocument();
-
- //if fault
- if (!isOneWayResponse && this.validator.isFault(docResponse))
- {
- result = AssertionResult.RESULT_PASSED;
- }
- else
- { // not fault
- // 1. get an operation from request
- // Parse request message
- Document docRequest = entryContext.getRequestDocument();
-
- // get SOAPAction
- String headers = entryContext.getRequest().getHTTPHeaders();
- String action = null;
- if (headers != null)
- action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
- Binding binding = validator.analyzerContext.getCandidateInfo().getBindings()[0];
- TypesRegistry registry =
- new TypesRegistry(
- this.validator.getWSDLDocument().getDefinitions(),
- validator);
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- docRequest,
- action,
- binding,
- registry);
-
- if (match == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- try
- {
-
- BindingOperation bindingOperation = match.getOperation();
- Operation operation = null;
-
- // Check whether the transport attribute has the value
- // "http://schemas.xmlsoap.org/soap/http".
- List extElem = binding.getExtensibilityElements();
- for (Iterator index = extElem.iterator(); index.hasNext();)
- {
- Object o = (Object) index.next();
- if (o instanceof SOAPBinding)
- {
- SOAPBinding soapBinding = (SOAPBinding) o;
- if (!WSIConstants
- .NS_URI_SOAP_HTTP
- .equals(soapBinding.getTransportURI()))
- {
- throw new AssertionFailException();
- }
-
- }
- }
-
- //find operation in port type
- operation = bindingOperation.getOperation();
- if (operation == null)
- {
- throw new AssertionFailException();
- }
-
- if (isOneWayResponse)
- {
- if (operation.getOutput() == null)
- throw new AssertionPassException();
- else
- throw new AssertionFailException();
- }
-
- // check whether the response message from the log
- // contains the output message
- NodeList soapBodyList =
- docResponse.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_BODY);
- if ((soapBodyList == null) || (soapBodyList.getLength() == 0))
- {
- // Response does not contain any soap Body elements
- throw new AssertionFailException();
- }
- for (int i = 0; i < soapBodyList.getLength(); i++)
- {
- Element nextBodyElem = (Element) soapBodyList.item(i);
- Element soapMessageElement = XMLUtils.getFirstChild(nextBodyElem);
- while (soapMessageElement != null)
- {
- // check whether the operation output has message from SOAP response
- Message message = operation.getOutput().getMessage();
- QName soapMessageQName =
- new QName(
- soapMessageElement.getNamespaceURI(),
- soapMessageElement.getLocalName());
-
- if (message != null
- && soapMessageQName.equals(message.getQName()))
- {
- throw new AssertionPassException();
- }
-
- soapMessageElement =
- XMLUtils.getNextSibling(soapMessageElement);
- }
- }
-
- }
- catch (AssertionPassException e)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- }
-
- }
- }
-
- if (result == AssertionResult.RESULT_FAILED)
- {
- failureDetail = this.validator.createFailureDetail(null, entryContext);
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1316.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1316.java
deleted file mode 100644
index 3fd3168c8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1316.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1316;
-
-/**
- * WSI1316
- */
-public class WSI1316 extends BP1316
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1316(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1318.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1318.java
deleted file mode 100644
index ea3cd9935..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1318.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1318;
-
-/**
- * WSI1318
- */
-public class WSI1318 extends BP1318
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1318(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1601.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1601.java
deleted file mode 100644
index f5920f7a6..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1601.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1601;
-
-/**
- * WSI1601
- */
-public class WSI1601 extends BP1601
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1601(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1701.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1701.java
deleted file mode 100644
index 8a7befb96..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1701.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1701;
-
-/**
- * WSI1701
- */
-public class WSI1701 extends BP1701
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1701(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4100.java
deleted file mode 100644
index 81c1a1071..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4100.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP4100;
-
-/**
- * WSI4100
- */
-public class WSI4100 extends BP4100
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI4100(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4101.java
deleted file mode 100644
index 950165aa2..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4101.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP4101;
-
-/**
- * WSI4101
- */
-public class WSI4101 extends BP4101
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI4101(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4102.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4102.java
deleted file mode 100644
index d25ffafbc..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4102.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP4102;
-
-/**
- * WSI4102
- */
-public class WSI4102 extends BP4102
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI4102(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4103.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4103.java
deleted file mode 100644
index 6a61d048c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4103.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI4103
- */
-public class WSI4103 extends BP4103
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI4103(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4104.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4104.java
deleted file mode 100644
index a6176d2b0..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4104.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI4104
- */
-public class WSI4104 extends BP4104
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI4104(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4105.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4105.java
deleted file mode 100644
index c6ff8d0ea..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4105.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI4105
- */
-public class WSI4105 extends BP4105
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI4105(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4106.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4106.java
deleted file mode 100644
index 97a44aef8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4106.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI4106
- */
-public class WSI4106 extends BP4106
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI4106(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4107.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4107.java
deleted file mode 100644
index 4ad524265..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4107.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI4107
- */
-public class WSI4107 extends BP4107
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI4107(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3001.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3001.java
deleted file mode 100644
index b206cd03d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3001.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * 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 java.util.Map;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-import org.uddi4j.datatype.OverviewDoc;
-import org.uddi4j.datatype.tmodel.TModel;
-
-
-/**
- * BP3001 - The tModel element uses WSDL as the description language:
- * the uddi:overviewDoc/uddi:overviewURL element contains a reference
- * to a WSDL definition, which uses a namespace
- * of http://schemas.xmlsoap.org/wsdl/.
- * The uddi:overviewURL may use the fragment notation to resolve
- * to a wsdl:binding.
- */
-public class BP3001 extends AssertionProcess
-{
- private final UDDIValidatorImpl validator;
-
- /**
- * @param UDDIValidatorImpl
- */
- public BP3001(UDDIValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * Sets the result variable to AssertionResult.RESULT_FAILED value and
- * places a tModel key in the fault detail message.
- * @param tModelKey
- */
- private void setFaultMessage(String tModelKey)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage = "The tModel key is: [" + tModelKey + "].";
- }
-
- /**
- * 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;
-
- Binding binding = null;
-
- // 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.";
- return validator.createAssertionResult(
- testAssertion,
- result,
- failureDetailMessage);
- }
-
- String key = tModel.getTModelKey();
-
- OverviewDoc doc = tModel.getOverviewDoc();
- if (doc != null)
- {
- String urlText = doc.getOverviewURLString();
-
- // Try to resolve the URL & check the WSDL
- try
- {
- WSDLDocument wsdlDocument = new WSDLDocument(urlText);
- Definition definition = wsdlDocument.getDefinitions();
- Map namespaces = definition.getNamespaces();
- if (!namespaces.containsValue(WSIConstants.NS_URI_WSDL))
- {
- urlText = null;
- }
-
- // Get binding
- binding = validator.getBinding(urlText, wsdlDocument);
-
- // See if the binding is in the WSDL document
- if (binding == null
- || definition.getBinding(binding.getQName()) == null)
- {
- urlText = null;
- }
- }
-
- catch (Exception e)
- {
- urlText = null;
- }
-
- if (urlText != null)
- {
- String fragmentID = null;
- int index = urlText.indexOf("#");
- if (index > -1)
- {
- fragmentID = urlText.substring(index + 1);
- }
-
- if ((fragmentID != null)
- && (fragmentID.length() != 0)
- && (fragmentID.toUpperCase().indexOf("xpointer(".toUpperCase()) == -1
- || fragmentID.lastIndexOf(")") != fragmentID.length() - 1))
- {
- setFaultMessage(key);
- }
- }
-
- else
- {
- setFaultMessage(key);
- }
- }
-
- else
- {
- setFaultMessage(key);
- }
-
- if (result == AssertionResult.RESULT_PASSED)
- {
- // Set the binding that will be used
- validator.setWSDLBinding(binding);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetailMessage);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3002.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3002.java
deleted file mode 100644
index 572cde4cd..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3002.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * 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.binding.BindingTemplate;
-
-
-/**
- * BP3002 - The uddi:bindingTemplate element contains a uddi:accessPoint element,
- * with a non-empty value.
- */
-public class BP3002 extends AssertionProcess
-{
- private final UDDIValidatorImpl validator;
-
- /**
- * @param UDDIValidatorImpl
- */
- public BP3002(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
- {
- String serviceLocation = null;
-
- result = AssertionResult.RESULT_PASSED;
-
- // Get the bindingTemplate from the entryContext
- BindingTemplate bindingTemplate =
- (BindingTemplate) entryContext.getEntry().getEntryDetail();
-
- // If the bindingTemplate does not contain an accessPoint, then fail
- if ((bindingTemplate.getAccessPoint() == null)
- || ((serviceLocation = bindingTemplate.getAccessPoint().getText())
- == null))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "The bindingTempate key is: ["
- + bindingTemplate.getBindingKey()
- + "].";
- }
-
- // Else save the service location in the assertion result
- else
- {
- // Save service location in analyzer context
- entryContext
- .getAnalyzerContext()
- .getServiceReference()
- .setServiceLocation(
- serviceLocation);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetailMessage);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3003.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3003.java
deleted file mode 100644
index c0e04f04b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3003.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * 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);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/UDDIValidatorImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/UDDIValidatorImpl.java
deleted file mode 100644
index 0ffdce883..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/UDDIValidatorImpl.java
+++ /dev/null
@@ -1,590 +0,0 @@
-/*******************************************************************************
- * 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 java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.UnknownHostException;
-import java.util.Iterator;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.WSDLException;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.analyzer.ServiceReference;
-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.ProfileArtifact;
-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.UDDIValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseValidatorImpl;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-import org.eclipse.wst.wsi.internal.core.util.UDDIUtils;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.binding.BindingTemplate;
-import org.uddi4j.datatype.binding.TModelInstanceInfo;
-import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.response.BindingDetail;
-import org.uddi4j.response.TModelDetail;
-import org.uddi4j.util.CategoryBag;
-import org.uddi4j.util.KeyedReference;
-
-import com.ibm.wsdl.util.StringUtils;
-
-/**
- * The UDDI validator will verify that a web service description was published correctly in a UDDI registry.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class UDDIValidatorImpl
- extends BaseValidatorImpl
- implements UDDIValidator
-{
- /**
- * UDDI reference.
- */
- protected UDDIReference uddiReference;
- /**
- * UDDI proxy.
- */
- protected UDDIProxy uddiProxy;
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.UDDIValidator#init(org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext, org.wsi.test.profile.ProfileArtifact, org.wsi.test.report.ReportArtifact, org.wsi.test.analyzer.config.UDDIReference, org.wsi.test.report.Reporter)
- */
- public void init(
- AnalyzerContext analyzerContext,
- ProfileArtifact profileArtifact,
- ReportArtifact reportArtifact,
- UDDIReference uddiReference,
- Reporter reporter)
- throws WSIException
- {
- // BaseValidatorImpl
- super.init(analyzerContext, profileArtifact, reportArtifact, reporter);
-
- // Save input references
- this.uddiReference = uddiReference;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.UDDIValidator#validate()
- */
- public String validate() throws WSIException
- {
- String wsdlURL = null;
- Entry entry = null;
-
- BindingTemplate bindingTemplate = null;
- TModel tModel = null;
-
- // it depricated after refactoring
- // now the inner classes moved out from validator
- //String classPrefix = this.getClass().getName() + "$";
- String classPrefix = this.getClass().getPackage().getName()+".";
-
- try
- {
- // Set up a reference to the UDDI registry
- uddiProxy = new UDDIProxy();
-
- //new Socket(new InetAddress(uddiReference.getInquiryURL()));
- uddiProxy.setInquiryURL(uddiReference.getInquiryURL());
- boolean wasEx = false;
- InputStream stream;
- try
- {
- URL url = StringUtils.getURL(null, uddiReference.getInquiryURL());
- stream = url.openStream();
- stream.close();
- }
-
- catch (UnknownHostException ex)
- {
- wasEx = true;
- }
-
- catch (IOException ex)
- {
- }
-
- if (!wasEx)
- {
-
- // If the UDDI reference is to a bindingTemplate then get it
- if (uddiReference.getKeyType().equals(UDDIReference.BINDING_KEY))
- {
- // Get binding detail which will contain the bindingTemplate
- BindingDetail bindingDetail =
- uddiProxy.get_bindingDetail(uddiReference.getKey());
-
- // Get bindingTemplate
- bindingTemplate =
- (BindingTemplate) bindingDetail
- .getBindingTemplateVector()
- .elementAt(
- 0);
-
- if (verboseOption)
- {
- System.err.println(
- " BindingTemplate - "
- + UDDIUtils.bindingTemplateToString(bindingTemplate));
- }
-
- // Get the wsdlSpec tModel
- tModel = findTModel(uddiProxy, bindingTemplate);
- }
-
- // Else it has to be a tModel
- else
- {
- TModelDetail tModelDetail =
- uddiProxy.get_tModelDetail(uddiReference.getKey());
- tModel = (TModel) tModelDetail.getTModelVector().elementAt(0);
- }
-
- if (verboseOption)
- {
- System.err.println(
- " TModel specified or found in bindingTemplate - "
- + UDDIUtils.tModelToString(tModel));
- }
- }
-
- if (bindingTemplate == null)
- {
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DISCOVERY_BINDINGTEMPLATE));
- }
-
- // If there is a bindingTemplate, then process test assertions for it
- else
- {
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_DISCOVERY_BINDINGTEMPLATE));
- entry.setReferenceID(bindingTemplate.getBindingKey());
- entry.setEntryDetail(bindingTemplate);
-
- // Process test assertions
- processAssertions(
- classPrefix,
- new EntryContext(entry, this.analyzerContext));
- }
-
- // NOTE: From this point forward, if a bindingTemplate does NOT have a wsdlSpec tModel,
- // the tModel will be NULL.
-
- //Parse WSDL document, and get WSDL document url, binding name and namespace
- try
- {
- String overviewURL = getOverviewURL(tModel);
- wsdlURL = getWSDLLocation(overviewURL);
- WSDLDocument wsdlDocument = getWSDLDocument(wsdlURL);
-
- // ADD: The WSDL binding is used in WSI3001 and should be moved to the entryContext
- getBinding(overviewURL, wsdlDocument);
- }
-
- catch (Exception e)
- {
- // ADD:
- if (verboseOption)
- {
- System.err.println(" EXCEPTION: " + e.toString());
- }
- }
-
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_DISCOVERY_TMODEL));
- entry.setReferenceID(
- (tModel == null ? "[tModel]" : tModel.getTModelKey()));
- entry.setEntryDetail(tModel);
-
- // Process test assertions
- processAssertions(
- classPrefix,
- new EntryContext(entry, this.analyzerContext));
- }
-
- catch (Exception e)
- {
- // Throw WSIException
- if (e instanceof WSIException)
- throw (WSIException) e;
- else
- throw new WSIException(
- "An exception occurred while processing the discovery test assertions.",
- e);
- }
-
- // Cleanup
- cleanup();
-
- // Get WSDL location
- wsdlURL = this.analyzerContext.getServiceReference().getWSDLLocation();
-
- // Return WSDL URL
- return wsdlURL;
- }
-
- /**
- * Set WSDL binding in the service reference portion of the analyzer context.
- */
- protected void setWSDLBinding(Binding binding)
- {
- String bindingName =
- binding == null ? null : binding.getQName().getLocalPart();
- String namespace =
- binding == null ? null : binding.getQName().getNamespaceURI();
-
- // Set the WSDL document location in analyzerContext
- ServiceReference serviceReference =
- this.analyzerContext.getServiceReference();
-
- // If the wsdlElement does not exist, then set it
- WSDLElement wsdlElement;
- if ((wsdlElement = serviceReference.getWSDLElement()) == null)
- {
- // Get the WSDL binding from the overviewURL and set in analyzerContext
- wsdlElement = new WSDLElementImpl();
- wsdlElement.setName(bindingName);
- wsdlElement.setNamespace(namespace);
- wsdlElement.setType(EntryType.TYPE_DESCRIPTION_BINDING);
- }
-
- // Set the wsdlElement in the service reference
- serviceReference.setWSDLElement(wsdlElement);
-
- // Set the service reference back into the analyzerContext
- analyzerContext.setServiceReference(serviceReference);
- }
-
- /**
- * Set the WSDL location in the service reference portion of the analyzer context.
- */
- protected void setWSDLLocation(String wsdlURL)
- {
- // Set the WSDL document location in analyzerContext
- ServiceReference serviceReference =
- this.analyzerContext.getServiceReference();
- serviceReference.setWSDLLocation(wsdlURL);
-
- // Set the service reference back into the analyzerContext
- analyzerContext.setServiceReference(serviceReference);
- }
-
- /**
- * Find the wsdlSpec tModel associated with a binding.
- */
- private TModel findTModel(
- UDDIProxy uddiProxy,
- BindingTemplate bindingTemplate)
- throws WSIException
- {
- TModel tModel = null;
-
- // Get the list of tModel references associated with this bindingTemplate
- Iterator iterator =
- bindingTemplate
- .getTModelInstanceDetails()
- .getTModelInstanceInfoVector()
- .iterator();
-
- // Process each tModel reference
- Vector tModelKeyList = new Vector();
- while (iterator.hasNext())
- {
- // Get tModelInstanceInfo
- TModelInstanceInfo tModelInstanceInfo =
- (TModelInstanceInfo) iterator.next();
-
- // Add key to list
- tModelKeyList.add(tModelInstanceInfo.getTModelKey());
- }
-
- // Get the tModels associated with the bindingTemplate
- if (tModelKeyList.size() > 0)
- {
- try
- {
- // Get the tModel details
- TModelDetail tModelDetail = uddiProxy.get_tModelDetail(tModelKeyList);
-
- // Get the list of tModels
- Iterator tModelIterator = tModelDetail.getTModelVector().iterator();
-
- //boolean tModelFound = false;
- TModel nextTModel = null;
-
- // Go through the list of tModels
- while ((tModelIterator.hasNext()) && (tModel == null))
- {
- // Get next tModel in list
- nextTModel = (TModel) tModelIterator.next();
-
- if (verboseOption)
- {
- System.err.println(
- " TModel referenced from bindingTemplate - "
- + UDDIUtils.tModelToString(nextTModel));
- }
-
- // If this is a wsdlSpec tModel, then this is the tModel we want
- if (isWsdlSpec(nextTModel))
- tModel = nextTModel;
- }
- }
-
- catch (Exception e)
- {
- // Throw WSIException
- throw new WSIException("Could not get tModel details.", e);
- }
- }
-
- else
- {
- // Throw exception
- //throw new WSIException("UDDI bindingTemplate did not contain any tModel references.");
- }
-
- return tModel;
- }
-
- /**
- * Determine if this is a wsdlSpec tModel.
- */
- protected boolean isWsdlSpec(TModel tModel)
- {
- boolean tModelFound = false;
- CategoryBag categoryBag = null;
- Iterator categoryBagIterator = null;
-
- // Determine if the catetgoryBag contains wsdlSpec
- if ((categoryBag = tModel.getCategoryBag()) != null)
- {
- // Get the list of keyed references
- categoryBagIterator = categoryBag.getKeyedReferenceVector().iterator();
-
- KeyedReference keyedReference = null;
-
- // Go through the list of keyed references
- while (categoryBagIterator.hasNext() && !(tModelFound))
- {
- // Get next keyed reference
- keyedReference = (KeyedReference) categoryBagIterator.next();
-
- // If this is a types taxonomy tModel and the value is wsdlSpec, then this is the tModel we want
- // REMOVE: It is not necessary to check the key name
- //if (keyedReference.getTModelKey().equalsIgnoreCase(TModel.TYPES_TMODEL_KEY) &&
- // "wsdlSpec".equals(keyedReference.getKeyValue()) &&
- // ("types".equals(keyedReference.getKeyName()) ||
- // "uddi-org:types".equals(keyedReference.getKeyName()))) {
- // tModelFound = true;
- //}
- if (keyedReference
- .getTModelKey()
- .equalsIgnoreCase(TModel.TYPES_TMODEL_KEY)
- && "wsdlSpec".equals(keyedReference.getKeyValue()))
- {
- tModelFound = true;
- }
- }
- }
-
- return tModelFound;
- }
-
- /**
- * Get an OverviewURL from tModel.
- */
- protected String getOverviewURL(TModel tModel)
- {
- if (tModel != null
- && tModel.getOverviewDoc() != null
- && tModel.getOverviewDoc().getOverviewURL() != null)
- {
- return tModel.getOverviewDoc().getOverviewURL().getText();
- }
- return null;
- }
-
- /**
- * Get WSDL document.
- */
- protected String getWSDLLocation(String wsdlLocation)
- {
- int index;
-
- // Check if the overviewURL contains a fragment identifier
- if ((index = wsdlLocation.indexOf("#")) > -1)
- {
- wsdlLocation = wsdlLocation.substring(0, index);
- }
- return wsdlLocation;
- }
-
- /**
- * Get WSDL document.
- */
- protected WSDLDocument getWSDLDocument(String wsdlLocation)
- throws MalformedURLException, WSDLException
- {
- return new WSDLDocument(getWSDLLocation(wsdlLocation));
- }
-
- /**
- * Get WSDL binding from the overviewURL in the tModel.
- */
- protected Binding getBinding(String overviewURL, WSDLDocument wsdlDocument)
- {
- int index;
- int nameIndex;
-
- Binding[] bindings = wsdlDocument.getBindings();
- if (bindings == null || bindings.length == 0)
- return null;
-
- if (overviewURL != null)
- {
- // Check if the overviewURL contains a fragment identifier
- if ((index = overviewURL.indexOf("#")) > -1)
- {
- // TEMP: Need to use a real XPath evaluator like Xalan
- String nameAttribute = "@name=";
-
- // Locate name reference
- if ((nameIndex =
- overviewURL.substring(index + 1).indexOf(nameAttribute))
- > -1)
- {
- // Get the next character which should be a quote
- int firstQuoteIndex = index + 1 + nameIndex + nameAttribute.length();
- String quote =
- overviewURL.substring(firstQuoteIndex, firstQuoteIndex + 1);
-
- // Get the part of the URL which should contain the binding name
- String urlPart = overviewURL.substring(firstQuoteIndex + 1);
-
- // Find the next quote
- int nextQuoteIndex;
- if ((nextQuoteIndex = urlPart.indexOf(quote)) > -1)
- {
- String bindingName = urlPart.substring(0, nextQuoteIndex);
- //look for binding with the specified name
- for (int i = 0; i < bindings.length; i++)
- {
- if (bindingName.equals(bindings[i].getQName().getLocalPart()))
- return bindings[i];
- }
- }
- }
- }
- }
-
- return bindings[0];
- }
-
- /**
- * Get string representation of categoryBag.
- * @param categoryBag a CategoryBag object.
- * @return string representation of categoryBag.
- */
- protected String categoryBagToString(CategoryBag categoryBag)
- {
- String toString = "";
-
- if (categoryBag != null)
- {
- Vector keyedReferenceList = null;
- if (((keyedReferenceList = categoryBag.getKeyedReferenceVector())
- == null)
- || (keyedReferenceList.size() == 0))
- {
- toString += "No KeyedReferences";
- }
-
- else
- {
- int count = 1;
- KeyedReference keyedReference;
- Iterator iterator = keyedReferenceList.iterator();
- while (iterator.hasNext())
- {
- keyedReference = (KeyedReference) iterator.next();
- toString += "\n ["
- + count++
- + "] tModelKey: "
- + keyedReference.getTModelKey()
- + ", keyName: "
- + keyedReference.getKeyName()
- + ", keyValue: "
- + keyedReference.getKeyValue();
- }
- }
- }
- else
- {
- toString = "null";
- }
-
- return toString;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isPrimaryEntryTypeMatch(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- protected boolean isPrimaryEntryTypeMatch(
- TestAssertion testAssertion,
- EntryContext targetContext)
- {
- boolean match = false;
-
- // If the test assertion entry type matches the target context entry type, then contine
- if (testAssertion
- .getEntryTypeName()
- .equals(targetContext.getEntry().getEntryType().getTypeName()))
- {
- match = true;
- }
-
- return match;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isNotApplicable(org.wsi.test.profile.TestAssertion)
- */
- protected boolean isNotApplicable(TestAssertion testAssertion)
- {
- boolean notApplicable = false;
-
- // ADD:
-
- return notApplicable;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3001.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3001.java
deleted file mode 100644
index de684b032..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3001.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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;
-
-/**
- * WSI3001
- */
-public class WSI3001 extends BP3001
-{
-
- /**
- * @param UDDIValidatorImpl
- */
- public WSI3001(UDDIValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3002.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3002.java
deleted file mode 100644
index c08dd2e9c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3002.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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;
-
-/**
- * WSI3002
- */
-public class WSI3002 extends BP3002
-{
-
- /**
- * @param UDDIValidatorImpl
- */
- public WSI3002(UDDIValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3003.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3003.java
deleted file mode 100644
index deb0176b3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3003.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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;
-
-/**
- * WSI3003
- */
-public class WSI3003 extends BP3003
-{
-
- /**
- * @param UDDIValidatorImpl
- */
- public WSI3003(UDDIValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3004.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3004.java
deleted file mode 100644
index 065480e3d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3004.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*******************************************************************************
- * 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 java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Port;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.UDDIUtils;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.util.CategoryBag;
-import org.uddi4j.util.KeyedReference;
-import org.w3c.dom.Element;
-
-
-/**
- * WSI3004 - The conformance claims in the uddi:tModel are the same
- * as those in the wsdl:binding which is referenced by the uddi:tModel.
- */
-public class WSI3004 extends AssertionProcessVisitor implements WSITag
-{
- private final UDDIValidatorImpl validator;
-
- /**
- * @param UDDIValidatorImpl
- */
- public WSI3004(UDDIValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private static final String PORTS_PARAM = "ports";
- private static final String BINDING_PARAM = "binding";
-
- /**
- * Gets WSI conformance claims from a tModel.
- * @param tModel
- * @return HashSet
- * @throws WSIException
- */
- private HashSet getConformanceClaimsFromUDDI(TModel tModel)
- throws WSIException
- {
- String conformanceKey = UDDIUtils.getWSIConformanceTModelKey(validator.uddiProxy);
-
- HashSet result = new HashSet();
-
- CategoryBag bag = tModel.getCategoryBag();
- if (bag != null)
- {
- Vector references = bag.getKeyedReferenceVector();
- for (int i = 0; i < references.size(); i++)
- {
- KeyedReference ref = (KeyedReference) references.get(i);
-
- if (ref.getTModelKey().equalsIgnoreCase(conformanceKey))
- {
- result.add(ref.getKeyValue());
- }
- }
- }
-
- return result;
- }
-
- /**
- * Gets WSI conformance claims from WSDL binding
- * that references specified tModel. Additionally,
- * WSDL ports, which uses the binding, are processed.
- *
- * @param tModel
- * @return HashSet
- */
- private HashSet getConformanceClaimsFromWSDL(TModel tModel)
- {
- HashSet result = new HashSet();
-
- try
- {
- // Read the WSDL document
- String overviewURL = validator.getOverviewURL(tModel);
- WSDLDocument wsdlDocument = validator.getWSDLDocument(overviewURL);
-
- // Get binding
- Binding binding = validator.getBinding(overviewURL, wsdlDocument);
- String bindingName = binding.getQName().getLocalPart();
-
- // Get claims
- result =
- getClaimsFromElement(binding.getDocumentationElement(), result);
-
- // Get ports, which reference this binding, because:
- // "A claim on a wsdl:port is inherited by the referenced wsdl:bindings."
- Vector ports = getPorts(wsdlDocument, bindingName);
- for (int i = 0; i < ports.size(); i++)
- {
- Port port = (Port) ports.get(i);
-
- result = getClaimsFromElement(port.getDocumentationElement(), result);
- }
- }
- catch (Exception e)
- {
- // ADD:
- }
-
- return result;
- }
-
- /**
- * Gets WSI conformance claims from the 'documentation' XML element
- * and puts them into the HashSet.
- * @param docElement
- * @param result
- * @return HashSet
- */
- private HashSet getClaimsFromElement(Element docElement, HashSet result)
- {
- if (result == null)
- {
- result = new HashSet();
- }
-
- if (docElement != null)
- {
- Element claimElement = XMLUtils.findChildElement(docElement, WSI_CLAIM);
- while (claimElement != null)
- {
- /*
- Node attr = XMLUtils.getAttribute(claimElement, ATTR_CLAIM_CONFORMSTO);
- if (attr != null)
- result.add(attr.getNodeValue());
- */
- String value =
- claimElement.getAttribute(ATTR_CLAIM_CONFORMSTO.getLocalPart());
- if (value != null)
- result.add(value);
-
- claimElement = XMLUtils.findElement(claimElement, WSI_CLAIM);
- }
- }
-
- return result;
- }
-
- /**
- * Gets wsdl:ports, which use specified binding.
- * @param wsdlDocument
- * @param bindingName
- * @return Vector
- */
- private Vector getPorts(WSDLDocument wsdlDocument, String bindingName)
- {
- Vector ports = new Vector();
-
- Map params = new HashMap();
- params.put(PORTS_PARAM, ports);
- params.put(BINDING_PARAM, bindingName);
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitPort(true);
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse(wsdlDocument.getDefinitions(), params);
-
- return ports;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Port, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Port port, Object parent, WSDLTraversalContext ctx)
- {
- if (port
- .getBinding()
- .getQName()
- .getLocalPart()
- .equals(ctx.getParameter(BINDING_PARAM).toString()))
- {
- ((Vector) ctx.getParameter(PORTS_PARAM)).add(port);
- }
- }
-
- /* (non-Javadoc)
- * @see org.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.";
- }
-
- // If there is a tModel
- else
- {
- try
- {
- HashSet claimsFromUDDI = getConformanceClaimsFromUDDI(tModel);
- HashSet claimsFromWSDL = getConformanceClaimsFromWSDL(tModel);
-
- if (claimsFromUDDI.size() == 0)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- else if (claimsFromUDDI.size() == claimsFromWSDL.size())
- {
- int counter = 0;
- for (Iterator iter = claimsFromWSDL.iterator(); iter.hasNext();)
- {
- String claim = (String) iter.next();
-
- for (Iterator iter2 = claimsFromUDDI.iterator();
- iter2.hasNext();
- )
- {
- String uddiClaim = (String) iter2.next();
- if (claim.equalsIgnoreCase(uddiClaim))
- {
- counter++;
- break;
- }
- }
- }
-
- if (counter != claimsFromWSDL.size())
- {
- // failed
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "The tModel key is: [" + tModel.getTModelKey() + "].";
- }
- }
- else
- {
- // failed
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "The tModel key is: [" + tModel.getTModelKey() + "].";
- }
- }
- catch (IllegalStateException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "The tModel key is: [" + tModel.getTModelKey() + "].";
- }
-
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetailMessage);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3005_OBSOLETE.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3005_OBSOLETE.java
deleted file mode 100644
index fc6f5a47b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3005_OBSOLETE.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * 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 java.util.Vector;
-
-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.eclipse.wst.wsi.internal.core.util.UDDIUtils;
-import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.util.CategoryBag;
-import org.uddi4j.util.KeyedReference;
-
-
-/**
- * WSI3005_OBSOLETE - A uddi:tModel which claims conformance with a WS-I profile
- * must be categorized using the ws-i-org:conformsTo taxonomy.
- */
-public class WSI3005_OBSOLETE extends AssertionProcess
-{
- private final UDDIValidatorImpl validator;
-
- /**
- * @param UDDIValidatorImpl
- */
- public WSI3005_OBSOLETE(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.";
- }
-
- // If there is a tModel
- else
- {
- CategoryBag bag = tModel.getCategoryBag();
-
- try
- {
- if (!checkCategoryBag(this.validator.uddiProxy, bag))
- {
- // failed
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "The tModel key is: [" + tModel.getTModelKey() + "].";
- }
- }
- catch (IllegalStateException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "The UDDI registry does not contain WSI conformance taxonomy"
- + " tModel (\"ws-i-org:conformsTo:2002_12\").";
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetailMessage);
- }
-
- /**
- * Checks a category bag.
- * @param proxy
- * @param bag
- * @return boolean
- */
- private boolean checkCategoryBag(UDDIProxy proxy, CategoryBag bag)
- {
- String conformanceKey = UDDIUtils.getWSIConformanceTModelKey(proxy);
-
- boolean result = false;
-
- if (bag != null)
- {
- Vector references = bag.getKeyedReferenceVector();
- for (int i = 0; i < references.size() && !result; i++)
- {
- KeyedReference ref = (KeyedReference) references.get(i);
-
- result = ref.getTModelKey().equalsIgnoreCase(conformanceKey);
- }
- }
-
- return result;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3006.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3006.java
deleted file mode 100644
index aa8c00318..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3006.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * 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 java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionResultException;
-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.eclipse.wst.wsi.internal.core.util.UDDIUtils;
-import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.util.CategoryBag;
-import org.uddi4j.util.KeyedReference;
-
-
-/**
- * WSI3006 - The uddi:tModel uses the ws-i-org:conformsTo:2002_12 categorization
- * value of "http://ws-i.org/profiles/base/1.0". The categoryBag in the tModel
- * contains a keyedReference with a tModelKey that contains the key value
- * uuid:65719168-72c6-3f29-8c20-62defb0961c0 for the ws-i-org:conformsTo:2002_12
- * tModel.
- */
-public class WSI3006 extends AssertionProcess
-{
- private final UDDIValidatorImpl validator;
- /**
- * @param UDDIValidatorImpl
- */
- public WSI3006(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;
- failureDetailMessage = null;
- KeyedReference claimKeyedRef = null;
-
- // check whether a UDDI conformance claim is being made...
-
- // Get the tModel from the entryContext
- TModel tModel = (TModel) entryContext.getEntry().getEntryDetail();
- try
- {
- if ((claimKeyedRef = conformanceClaimMade(tModel)) == null)
- {
- throw new AssertionResultException(
- AssertionResult.RESULT_NOT_APPLICABLE);
- }
-
- // we have a conformance claim, so check the keyedReference keyValue
- if (!claimKeyedRef
- .getKeyValue()
- .equals(WSIConstants.ATTRVAL_UDDI_CLAIM_KEYVALUE))
- {
- throw new AssertionResultException(
- AssertionResult.RESULT_FAILED,
- "The tModel key is: ["
- + tModel.getTModelKey()
- + "].\nThe categoryBag is: ["
- + tModel.getCategoryBag()
- + "].");
- }
- }
- catch (AssertionResultException e)
- {
- result = e.getMessage();
- failureDetailMessage = e.getDetailMessage();
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetailMessage);
- }
-
- /**
- * Checks a category bag and extracts KeyedReference containing
- * the conformance claim.
- * @param proxy
- * @param bag
- * @return boolean
- */
- private KeyedReference checkCategoryBag(UDDIProxy proxy, CategoryBag bag)
- {
- String conformanceKey = null;
- try
- {
- conformanceKey = UDDIUtils.getWSIConformanceTModelKey(proxy);
- }
- catch (IllegalStateException ex)
- {
- return null;
- }
-
- boolean result = true;
- KeyedReference conformanceRef = null;
-
- if (bag != null)
- {
- Vector references = bag.getKeyedReferenceVector();
- for (int i = 0; i < references.size() && result; i++)
- {
- KeyedReference ref = (KeyedReference) references.get(i);
-
- if (ref
- .getTModelKey()
- .equalsIgnoreCase(conformanceKey) //&& ref.getKeyValue().equals(WSIConstants.ATTRVAL_UDDI_CLAIM_KEYVALUE)
- // we need only tModel key
- )
- {
- result = true;
- conformanceRef = ref;
- }
- }
- }
-
- return conformanceRef;
- }
- /**
- * Gets KeyedReference containing the conformance claim.
- * @param tModel
- * @return
- * @throws WSIException
- */
- private KeyedReference conformanceClaimMade(TModel tModel)
- throws WSIException
- {
-
- // If the tModel does not exist, then fail
- if (tModel == null)
- {
- throw new IllegalArgumentException("tModel cannot be null");
- }
-
- // If there is a tModel
- else
- {
- CategoryBag bag = tModel.getCategoryBag();
- return checkCategoryBag(this.validator.uddiProxy, bag);
- }
-
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3007.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3007.java
deleted file mode 100644
index 06674dd9b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3007.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * 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 java.util.Vector;
-
-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.eclipse.wst.wsi.internal.core.util.UDDIUtils;
-import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.binding.BindingTemplate;
-import org.uddi4j.datatype.business.BusinessEntity;
-import org.uddi4j.datatype.service.BusinessService;
-import org.uddi4j.util.CategoryBag;
-import org.uddi4j.util.KeyedReference;
-
-
-/**
- * WSI3007 - A uddi:businessEntity or uddi:businessService associated
- * with this uddi:bindingTemplate is not categorized using
- * the ws-i-org:conformsTo:2002_12 taxonomy.
- */
-public class WSI3007 extends AssertionProcess
-{
- private final UDDIValidatorImpl validator;
-
- /**
- * @param UDDIValidatorImpl
- */
- public WSI3007(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 bindingTemplate from the entryContext
- BindingTemplate bindingTemplate =
- (BindingTemplate) entryContext.getEntry().getEntryDetail();
-
- boolean validService = false;
- boolean validBusiness = false;
-
- String serviceKey = null;
- String businessKey = null;
- try
- {
- serviceKey = bindingTemplate.getServiceKey();
- BusinessService service =
- UDDIUtils.getBusinessServiceByKey(this.validator.uddiProxy, serviceKey);
-
- businessKey = service.getBusinessKey();
- BusinessEntity business =
- UDDIUtils.getBusinessByKey(this.validator.uddiProxy, businessKey);
-
- validService = checkCategoryBag(this.validator.uddiProxy, service.getCategoryBag());
- validBusiness = checkCategoryBag(this.validator.uddiProxy, business.getCategoryBag());
-
- if (!validBusiness || !validService)
- {
- result = AssertionResult.RESULT_FAILED;
-
- if (!validBusiness)
- {
- failureDetailMessage =
- "The businessEntity key is: [" + businessKey + "].";
- }
-
- if (!validService)
- {
- if (!validBusiness)
- failureDetailMessage += " ";
- else
- failureDetailMessage = "";
-
- failureDetailMessage += "The businessService key is: ["
- + serviceKey
- + "].";
- }
- }
- }
- catch (IllegalStateException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "The UDDI registry does not contain WSI conformance taxonomy"
- + " tModel (\"ws-i-org:conformsTo:2002_12\").";
- }
- catch (Throwable e)
- {
- throw new WSIException(
- "An exception occurred while processing the discovery test assertions.",
- e);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetailMessage);
- }
-
- /**
- * Checks whether the category bag contains the conformance claim.
- * Returns <b>true</b> if the bag does not contain the conformance claim.
- * @param proxy
- * @param bag
- * @return boolean
- */
- private boolean checkCategoryBag(UDDIProxy proxy, CategoryBag bag)
- {
- String conformanceKey = null;
- try
- {
- conformanceKey = UDDIUtils.getWSIConformanceTModelKey(proxy);
- }
- catch (IllegalStateException ex)
- {
- return false;
- }
-
- boolean result = true;
-
- if (bag != null)
- {
- Vector references = bag.getKeyedReferenceVector();
- for (int i = 0; i < references.size() && result; i++)
- {
- KeyedReference ref = (KeyedReference) references.get(i);
-
- result = !ref.getTModelKey().equalsIgnoreCase(conformanceKey);
- }
- }
-
- return result;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3021.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3021.java
deleted file mode 100644
index 085352d2f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3021.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * 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 java.util.Vector;
-
-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.eclipse.wst.wsi.internal.core.util.UDDIUtils;
-import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.util.CategoryBag;
-import org.uddi4j.util.KeyedReference;
-
-
-/**
-* WSI3021 - The uddi:tModel has a "name" element of value "ws-i-org:conformsTo:2002_12" ,
-* has an overviewURL value of "http://ws-i.org/schemas/conformanceClaim/", and has
-* a keyedReference element with keyName attribute value of "uddi-org:types:categorization".
-*/
-public class WSI3021 extends AssertionProcess
-{
- private final UDDIValidatorImpl validator;
-
- /**
- * @param UDDIValidatorImpl
- */
- public WSI3021(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_FAILED;
-
- TModel tModel =
- UDDIUtils.getTModelByKey(
- this.validator.uddiProxy,
- UDDIUtils.getWSIConformanceTModelKey(this.validator.uddiProxy));
-
- // If the tModel does not exist, then fail
- if (tModel == null)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage = "Could not locate a tModel.";
- }
- else
- {
- boolean validURL =
- tModel.getOverviewDoc() != null
- && "http://ws-i.org/schemas/conformanceClaim/".equals(
- tModel.getOverviewDoc().getOverviewURLString());
- boolean validCategory = checkCategoryBag(tModel.getCategoryBag());
-
- if (validURL && validCategory)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- else
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage = this.validator.uddiReference.getInquiryURL();
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetailMessage);
- }
-
- /**
- * Checks whether the category bag meets the WSI's requirements.
- * @param bag
- * @return
- */
- private boolean checkCategoryBag(CategoryBag bag)
- {
- boolean result = false;
-
- if (bag != null)
- {
- Vector references = bag.getKeyedReferenceVector();
- for (int i = 0; i < references.size() && !result; i++)
- {
- KeyedReference ref = (KeyedReference) references.get(i);
-
- result =
- "uddi-org:types:categorization".equals(ref.getKeyName())
- && "categorization".equals(ref.getKeyValue())
- && "uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4".equals(
- ref.getTModelKey());
- }
- }
-
- return result;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2901.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2901.java
deleted file mode 100644
index 42e561f7f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2901.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-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;
-
-/**
- * AP2901
- *
- * <context>For a candidate wsdl:binding element</context>
- * <assertionDescription>A description uses either the WSDL MIME Binding as described in WSDL 1.1 Section 5
- * or WSDL SOAP binding as described in WSDL 1.1 Section 3
- * on each of the wsdl:input or wsdl:output elements of a wsdl:binding. </assertionDescription>
- */
-public class AP2901 extends AssertionProcess implements WSITag
-{
- /**
- * WSDLValidator
- */
- private final WSDLValidatorImpl validator;
-
- private Collection mimeElements;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2901(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
-
- mimeElements = new HashSet();
- mimeElements.add(WSDL_MIME_CONTENT);
- mimeElements.add(WSDL_MIME_XML);
- mimeElements.add(WSDL_MIME_MULTIPART);
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- try
- {
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- QName inapplicableElement = null;
- // Getting an inapplicable extensibility element of wsdl:input
- // If such element exists, the assertion failed
- if (bindingInput != null)
- {
- // Getting an inapplicable extensibility element of wsdl:input
- // If such element exists, the assertion failed
- inapplicableElement = getInapplicableElement(bindingInput.getExtensibilityElements());
-
- if (inapplicableElement != null)
- throw new AssertionFailException(inapplicableElement.toString());
- }
-
- // Getting an inapplicable extensibility element of wsdl:output
- // If such element exists, the assertion failed
- if (bindingOutput != null)
- {
- inapplicableElement =
- getInapplicableElement(bindingOutput.getExtensibilityElements());
- if (inapplicableElement != null)
- throw new AssertionFailException(inapplicableElement.toString());
- }
- }
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Looks for any extensibility element of wsdl:input or wsdl:output
- * that does not conform to the SOAP binding or the MIME binding.
- * @param extElems a list of extensibility elements
- * @return the QName of an inapplicable element
- */
- private QName getInapplicableElement(List extElems)
- {
- for (int i = 0; i < extElems.size(); i++)
- {
- QName elementName =
- ((ExtensibilityElement) extElems.get(i)).getElementType();
-
- if (!mimeElements.contains(elementName) &&
- !elementName.equals(WSDL_SOAP_BODY) &&
- !elementName.equals(WSDL_SOAP_HEADER))
- {
- return elementName;
- }
- }
-
- return null;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2903.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2903.java
deleted file mode 100644
index 02bc31357..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2903.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Output;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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;
-
-/**
- * AP2903
- *
- * <context>For a candidate wsdl:binding with at least one mime:content element</context>
- * <assertionDescription>The part attribute of each mime:content element in a wsdl:binding references
- * a wsdl:part element of a wsdl:message that is present in the respective wsdl:input or wsdl:output of the
- * corresponding wsdl:operation of the corresponding wsdl:portType.</assertionDescription>
- */
-public class AP2903 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2903(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- try
- {
- // A variable that indicates a binding contains at least one
- // mime:content element
- boolean mimeContentsFound = false;
-
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- // Collecting all the mime:content elements from wsdl:input and wsdl:output
- List inputMimeContents = getMimeContentElements(
- bindingInput == null ? null : bindingInput.getExtensibilityElements());
- List outputMimeContents = getMimeContentElements(
- bindingOutput == null ? null : bindingOutput.getExtensibilityElements());
-
- // If the wsdl:input contains mime:content elements
- if (!inputMimeContents.isEmpty())
- {
- mimeContentsFound = true;
- Input portTypeInput = bindingOperation.getOperation().getInput();
- // If there is no the corresponding wsdl:input in wsdl:portType,
- // the assertion failed
- if (portTypeInput == null)
- throw new AssertionFailException(
- "There is no the corresponging wsdl:input in the wsdl:portType"
- + " operation for the wsdl:input of the \""
- + bindingOperation.getName() + "\" binding operation.");
-
- // If the wsdl:portType input does not reference any wsdl:message,
- // the assertion failed
- if (portTypeInput.getMessage() == null)
- throw new AssertionFailException("The wsdl:input of the \""
- + bindingOperation.getOperation().getName() + "\" wsdl:portType "
- + "operation does not reference any wsdl:message.");
-
- // Getting the part name that is not specified in the wsdl:message
- // the input of wsdl:portType refers to
- String part = getInvalidMimeContentPart(
- inputMimeContents, portTypeInput.getMessage());
-
- // If such part is found, the assertion failed
- if (part != null)
- throw new AssertionFailException("part=\"" + part +
- "\", the input of the binding operation \""
- + bindingOperation.getName() + "\"");
- }
-
- // If the wsdl:output contains mime:content elements
- if (!outputMimeContents.isEmpty())
- {
- mimeContentsFound = true;
- Output portTypeOutput = bindingOperation.getOperation().getOutput();
- // If there is no the corresponding wsdl:input in wsdl:portType,
- // the assertion failed
- if (portTypeOutput == null)
- throw new AssertionFailException(
- "There is no the corresponging wsdl:output in the wsdl:portType"
- + " operation for the wsdl:output of the \""
- + bindingOperation.getName() + "\" binding operation.");
-
- // If the wsdl:portType output does not reference any wsdl:message,
- // the assertion failed
- if (portTypeOutput.getMessage() == null)
- throw new AssertionFailException("The wsdl:output of the \""
- + bindingOperation.getOperation().getName() + "\" wsdl:portType "
- + "operation does not reference any wsdl:message.");
-
- // Getting the part name that is not specified in the wsdl:message
- // the output of wsdl:portType refers to
- String part = getInvalidMimeContentPart(
- outputMimeContents, portTypeOutput.getMessage());
-
- // If such part is found, the assertion failed
- if (part != null)
- throw new AssertionFailException("part=\"" + part +
- "\", the output of the binding operation \""
- + bindingOperation.getName() + "\"");
- }
- }
-
- // If the binding contains no mime:content elements,
- // the assertion is not applicable
- if (!mimeContentsFound)
- throw new AssertionNotApplicableException();
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Collects all mime:content elements.
- * @param extElems a list of extensibility elements that can contain mime:contentS.
- * @return the list of mime:content elements found.
- */
- private List getMimeContentElements(List extElems)
- {
- List mimeContentElements = new ArrayList();
-
- if (extElems != null)
- {
- // Going through all the extensibility elements
- for (int i = 0; i < extElems.size(); i++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
- // If the element is mime:multipartRelated
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- // Collecting all the mime:content elements of this mime:part
- List elems = getMimeContentElements(
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements());
- // Adding the elements to the list being returned
- mimeContentElements.addAll(elems);
- }
- }
- // Else if the element is mime:content
- else if (extElem.getElementType().equals(WSDL_MIME_CONTENT))
- {
- // Adding the element to the list being returned
- mimeContentElements.add(extElem);
- }
- }
- }
-
- return mimeContentElements;
- }
-
- /**
- * Returns part name specified in mime:content element that is not presented in wsdl:message
- * @param mimeContents a list of mime:content elements which part attributes are validated
- * @param message a wsdl:message
- * @return a part name
- */
- private String getInvalidMimeContentPart(List mimeContents, Message message)
- {
- // Going throug all the mime:content elements
- for (int i = 0; i < mimeContents.size(); i++)
- {
- // Getting the part name of a mime:element
- String part = ((MIMEContent) mimeContents.get(i)).getPart();
- // If the wsdl:message does not contain such part, return the part
- if (!message.getParts().keySet().contains(part))
- return part;
- }
- // Return null if no one part is found
- return null;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2904.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2904.java
deleted file mode 100644
index c5a9716e3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2904.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-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.report.AssertionResult;
-
-/**
- * AP2904
- * <context>For a candidate wsdl:binding with at least one mime:content element</context>
- * <assertionDescription>The part attribute of each mime:content element in a wsdl:binding
- * does not reference a sub-component of a wsdl:part of the wsdl:message that is present in the
- * respective wsdl:input or wsdl:output of the corresponding wsdl:operation of the corresponding
- * wsdl:portType.</assertionDescription>
- */
-public class AP2904 extends AP2903
-{
- /**
- * @param WSDLValidatorImpl
- */
- public AP2904(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- // Return assertion result
- return super.validate(testAssertion, entryContext);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2906.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2906.java
deleted file mode 100644
index 2c9c7cd72..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2906.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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;
-
-/**
- * AP2906
- *
- * <context>For a candidate wsdl:binding containing a mime:multipartRelated element</context>
- * <assertionDescription>A non-root MIME part in a wsdl:binding does not contain a soapbind:header element.</assertionDescription>
- */
-public class AP2906 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2906(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- try
- {
- // A variable that indicates a binding contains at least one
- // mime:multipartRelated element
- boolean multipartsFound = false;
-
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- // Collecting all the mime:multipartRelated elements from wsdl:input and wsdl:output
- List inputMultiparts = getMimeMultipartElements(
- bindingInput == null ? null : bindingInput.getExtensibilityElements());
- List outputMultiparts = getMimeMultipartElements(
- bindingOutput == null ? null : bindingOutput.getExtensibilityElements());
-
- // If the wsdl:input contains mime:multipartRelated elements
- if (!inputMultiparts.isEmpty())
- {
- multipartsFound = true;
-
- // If there is a soap:header in the non-root mime:part,
- // the assertion failed
- if (containsInvalidMimePart(inputMultiparts))
- {
- throw new AssertionFailException("The invalid mime:part element "
- + "is in the wsdl:input of the \"" + bindingOperation.getName()
- + "\" binding operation.");
- }
- }
-
- // If the wsdl:output contains mime:multipartRelated elements
- if (!outputMultiparts.isEmpty())
- {
- multipartsFound = true;
-
- // If there is a soap:header in the non-root mime:part,
- // the assertion failed
- if (containsInvalidMimePart(outputMultiparts))
- {
- throw new AssertionFailException("The invalid mime:part element "
- + "is in the wsdl:output of the \"" + bindingOperation.getName()
- + "\" binding operation.");
- }
- }
- }
- // If the binding contains no one mime:multipartRelated element,
- // the assertion is not applicable
- if (!multipartsFound)
- throw new AssertionNotApplicableException();
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Looks for such non-root mime:part element from a list of mime:multipartRelated elements
- * that contains a soap:header element.
- * @param multiparts a list of mime:multipartRelated elements
- * @return true, if such element is found, false otherwise
- */
- private boolean containsInvalidMimePart(List multiparts)
- {
- // Going through a list of mime:multipartRelated elements
- for (int i = 0; i < multiparts.size(); i++)
- {
- // Getting a list of mime:part elements
- List mimeParts =
- ((MIMEMultipartRelated) multiparts.get(i)).getMIMEParts();
-
- // Looking for non-root mime:partS
- if (mimeParts.size() > 1)
- {
- for (int j = 1; j < mimeParts.size(); j++)
- {
- // Getting a list of extensibility elements of a mime:part
- List extElems =
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements();
- // Going through the extensibility elements
- for (int k = 0; k < extElems.size(); k++)
- {
- // If an extensibility element is a soap:header,
- // return true
- if (((ExtensibilityElement)extElems.get(k))
- .getElementType().equals(WSDL_SOAP_HEADER))
- {
- return true;
- }
- }
- }
- }
- }
- // return false, if the element is not found
- return false;
- }
-
- /**
- * Collects all mime:multipartRelated elements.
- * @param extElems a list of extensibility elements that can contain mime:multipartRelated elements.
- * @return the list of mime:multipartRelated elements found.
- */
- private List getMimeMultipartElements(List extElems)
- {
- List mimeMultipartElements = new ArrayList();
-
- if (extElems != null)
- {
- // Going through all the extensibility elements
- for (int i = 0; i < extElems.size(); i++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
- // If the element is mime:multipartRelated
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Adding the element to the list being returned
- mimeMultipartElements.add(extElem);
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- // Collecting all the mime:multipartRelated elements of this mime:part
- List elems = getMimeMultipartElements(
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements());
- // Adding the elements to the list being returned
- mimeMultipartElements.addAll(elems);
- }
- }
- }
- }
-
- return mimeMultipartElements;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2907.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2907.java
deleted file mode 100644
index 494445f6c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2907.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-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;
-
-/**
- * AP2907
- *
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>Each MIME part in a description is defined using
- * an element with a local name of part in the namespace of the
- * WSDL MIME Binding extension.</assertionDescription>
- */
-public class AP2907 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2907(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2908.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2908.java
deleted file mode 100644
index 5208c8af3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2908.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * AP2908
- *
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>The mime:part element in a DESCRIPTION does not have a name attribute.</assertionDescription>
- */
-public class AP2908 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2908(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- try
- {
- // Getting a wsdl:binding
- Binding wsdlBinding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Since WSDL4J 1.4 ignores any attributes of mime:part, use Xerces 2.6.2 instead
- Document doc = XMLUtils.parseXMLDocument(validator.wsdlURL);
-
- // Finding the wsdl:binding element being processed
- Element binding = getBindingElement(
- doc.getDocumentElement(), wsdlBinding.getQName().getLocalPart());
-
- List ops = getChildElements(binding, WSDL_OPERATION);
-
- // A variable that indicates a binding contains at least one
- // mime:multipartRelated element
- boolean multipartsFound = false;
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- Element bindingOperation = (Element) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- Element bindingInput = getChildElement(bindingOperation, WSDL_INPUT);
- Element bindingOutput = getChildElement(bindingOperation, WSDL_OUTPUT);
-
- // Collecting all the mime:multipartRelated elements from wsdl:input and wsdl:output
- List inputMultiparts = getMimeMultipartElements(bindingInput);
- List outputMultiparts = getMimeMultipartElements(bindingOutput);
-
- // If the wsdl:input contains mime:multipartRelated elements
- if (!inputMultiparts.isEmpty())
- {
- multipartsFound = true;
-
- // If there is a mime:part element containing a name attribute,
- // the assertion failed
- if (containsInvalidMimePart(inputMultiparts))
- {
- throw new AssertionFailException("The invalid "
- + "mime:part element is in the wsdl:input of the \""
- + bindingOperation.getAttribute(WSIConstants.ATTR_NAME)
- + "\" binding operation.");
- }
- }
-
- // If the wsdl:output contains mime:multipartRelated elements
- if (!outputMultiparts.isEmpty())
- {
- multipartsFound = true;
-
- // If there is a mime:part element containing a name attribute,
- // the assertion failed
- if (containsInvalidMimePart(outputMultiparts))
- {
- throw new AssertionFailException("The invalid "
- + "mime:part element is in the wsdl:output of the \""
- + bindingOperation.getAttribute(WSIConstants.ATTR_NAME)
- + "\" binding operation.");
- }
- }
- }
- // If the binding contains no one mime:multipartRelated element,
- // the assertion is not applicable
- if (!multipartsFound)
- throw new AssertionNotApplicableException();
- }
- catch (IOException ioe)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Validates mime:part elements for each of mime:multipartRelated element.
- * @param multiparts a list of mime:multipartRelated elements.
- * @return true, if any mime:part contains a name attribute, false otherwise.
- */
- private boolean containsInvalidMimePart(List multiparts) {
- // Going through a list of mime:multipartRelated elements
- for (int i = 0; i < multiparts.size(); i++)
- {
- // Getting a list of mime:part elements
- List mimeParts =
- getChildElements((Element) multiparts.get(i), WSDL_MIME_PART);
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- Element mimePart = (Element) mimeParts.get(j);
- // If the mime:part element contains a name attribute,
- // return true
- if (mimePart.getAttributeNode(WSIConstants.ATTR_NAME) != null)
- {
- return true;
- }
- }
- }
- // No one invalid mime:part element is found, return false
- return false;
- }
-
- /**
- * Collects all mime:multipartRelated elements.
- * @param parent an element which the child elements are gathered from.
- * @return the list of mime:multipartRelated elements found.
- */
- private List getMimeMultipartElements(Element parent)
- {
- List mimeMultipartElements = new ArrayList();
- // If the parent is not null
- if (parent != null)
- {
- // Getting the first parent's child
- Element child = XMLUtils.getFirstChild(parent);
- while (child != null)
- {
- // If the child is a mime:multipartRelated element
- if (child.getNamespaceURI().equals(WSDL_MIME_MULTIPART.getNamespaceURI())
- && child.getLocalName().equals(WSDL_MIME_MULTIPART.getLocalPart()))
- {
- // Adding the element to the list being returned
- mimeMultipartElements.add(child);
-
- // Getting mime:partS from the element
- List mimeParts = getChildElements(child, WSDL_MIME_PART);
- // Going through all the mime:part elements
- for (int i = 0; i < mimeParts.size(); i++)
- {
- // Collecting all the mime:multipartRelated elements of this mime:part
- List elems = getMimeMultipartElements((Element) mimeParts.get(i));
- // Adding the elements to the list being returned
- mimeMultipartElements.addAll(elems);
- }
- }
- // Getting the next child
- child = XMLUtils.getNextSibling(child);
- }
- }
-
- return mimeMultipartElements;
- }
-
- /**
- * Looks for an element's child element.
- * @param parent a parent element.
- * @param childName a qualified element name being found.
- * @return an element or null if it is not found.
- */
- private Element getChildElement(Element parent, QName childName)
- {
- // Getting the first parent's child
- Element child = XMLUtils.getFirstChild(parent);
- while (child != null)
- {
- // If the child has the required qualified name
- if (child.getNamespaceURI().equals(childName.getNamespaceURI())
- && child.getLocalName().equals(childName.getLocalPart()))
- {
- // return the child
- return child;
- }
- // Getting the next child
- child = XMLUtils.getNextSibling(child);
- }
- return null;
- }
-
- /**
- * Collects element's child elements.
- * @param parent a parent element.
- * @param childName a qualified element name being found.
- * @return a list of elements found.
- */
- private List getChildElements(Element parent, QName childName)
- {
- List children = new ArrayList();
- if (parent != null)
- {
- // Getting the first parent's child
- Element child = XMLUtils.getFirstChild(parent);
- while (child != null)
- {
- // If the child has the required qualified name
- if (child.getNamespaceURI().equals(childName.getNamespaceURI())
- && child.getLocalName().equals(childName.getLocalPart()))
- {
- // Adding the child to the list
- children.add(child);
- }
- // Getting the next binding's child
- child = XMLUtils.getNextSibling(child);
- }
- }
- return children;
- }
-
- /**
- * Looks for wsdl:binding element.
- * @param definitions a wsdl:definitions element.
- * @param bindingName a name of wsdl:binding element.
- * @return a wsdl:binding element or null if it is not found.
- */
- private Element getBindingElement(Element definitions, String bindingName)
- {
- // Getting the first definitions' child
- Element child = XMLUtils.getFirstChild(definitions);
- while (child != null)
- {
- // If definitions' child is wsdl:binding element
- // and is the same that is being processed by WSDLValidator
- if (child.getNamespaceURI().equals(WSDL_BINDING.getNamespaceURI())
- && child.getLocalName().equals(WSDL_BINDING.getLocalPart())
- && child.getAttribute(WSIConstants.ATTR_NAME).equals(bindingName))
- {
- // return the wsdl:binding element
- return child;
- }
- // Getting the next definitions' child
- child = XMLUtils.getNextSibling(child);
- }
- // return null, is there is no such wsdl:binding
- return null;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2909.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2909.java
deleted file mode 100644
index 86681ba50..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2909.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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;
-
-/**
- * AP2909
- *
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>Multiple mime:content child elements of a mime:part element
- * in a desciption reference the same wsdl:part.</assertionDescription>
- */
-public class AP2909 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- // A variable that indicates a binding contains
- // multiple mime:content elements
- private boolean multipleContentFound;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2909(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- // Resetting the variable
- multipleContentFound = false;
-
- try
- {
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- // Collecting all the mime:part elements from wsdl:input and wsdl:output
- List inputMimeParts = getMimeParts(
- bindingInput == null ? null : bindingInput.getExtensibilityElements());
- List outputMimeParts = getMimeParts(
- bindingOutput == null ? null : bindingOutput.getExtensibilityElements());
-
- // If there is a mime:part containing multiple mime:contentS
- // which reference different wsdl:partS, the assertion failed
- if (containsInvalidMimePart(inputMimeParts))
- {
- throw new AssertionFailException("The invalid mime:part element "
- + "is in the wsdl:input of the \"" + bindingOperation.getName()
- + "\" binding operation.");
- }
-
- // If there is a mime:part containing multiple mime:contentS
- // which reference different wsdl:partS, the assertion failed
- if (containsInvalidMimePart(outputMimeParts))
- {
- throw new AssertionFailException("The invalid mime:part element "
- + "is in the wsdl:output of the \"" + bindingOperation.getName()
- + "\" binding operation.");
- }
-
- }
- // If the binding does not contain a mime:part with multiple
- // mime:content elements, the assertion is not applicable
- if (!multipleContentFound)
- throw new AssertionNotApplicableException();
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Validates mime:part elements.
- * @param mimeParts a list of mime:part elements.
- * @return true if multiple mime:contentS of a mime:part
- * reference different wsdl:partS, false otherwise.
- */
- private boolean containsInvalidMimePart(List mimeParts)
- {
- // Going through a list of mime:part elements
- for (int i = 0; i < mimeParts.size(); i++)
- {
- // A variable that indicates the mime:part contains
- // at least one mime:content element
- boolean mimeContentFound = false;
- String mimeContentPart = null;
-
- // Going through mime:part extensibility elements
- List extElems = ((MIMEPart) mimeParts.get(i)).getExtensibilityElements();
- for (int j = 0; j < extElems.size(); j++)
- {
- // If an extensibility element is mime:content
- if (((ExtensibilityElement)extElems.get(j))
- .getElementType().equals(WSDL_MIME_CONTENT))
- {
- MIMEContent mimeContent = (MIMEContent) extElems.get(j);
- // If a mime:content element was already found in this mime:part
- if (mimeContentFound)
- {
- multipleContentFound = true;
- // If a mime:content references other wsdl:part than the
- // previous mime:content do, return true
- if (mimeContent.getPart() == null
- || !mimeContent.getPart().equals(mimeContentPart))
- {
- return true;
- }
- }
- // This is the first mime:content element of mime:part
- else
- {
- mimeContentFound = true;
- mimeContentPart = mimeContent.getPart();
- }
- }
- }
- }
- // There are no invalid mime:part elements, return false
- return false;
- }
-
- /**
- * Collects all mime:part elements.
- * @param extElems a list of extensibility elements that can contain mime:part elements.
- * @return the list of mime:part elements found.
- */
- private List getMimeParts(List extElems)
- {
- List mimeParts = new ArrayList();
-
- if (extElems != null)
- {
- // Going through all the extensibility elements
- for (int i = 0; i < extElems.size(); i++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
- // If the element is mime:multipartRelated
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Getting the mime:part elements of the mime:multipartRelated
- List mParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- mimeParts.addAll(mParts);
- // Going through all the mime:part elements
- for (int j = 0; j < mParts.size(); j++)
- {
- List elems = getMimeParts(
- ((MIMEPart) mParts.get(j)).getExtensibilityElements());
- // Adding the elements to the list being returned
- mimeParts.addAll(elems);
- }
- }
- }
- }
- return mimeParts;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2910.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2910.java
deleted file mode 100644
index a42d335d3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2910.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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;
-
-/**
- * AP2910
- *
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>A mime:content in a DESCRIPTION references
- * a wsdl:part that is defined using either the type attribute
- * or the element attribute.</assertionDescription>
- */
-public class AP2910 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2910(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- try
- {
- // A variable that indicates a binding contains at least one
- // mime:content element
- boolean mimeContentsFound = false;
-
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- // Collecting all the mime:content elements from wsdl:input and wsdl:output
- List inputMimeContents = getMimeContentElements(
- bindingInput == null ? null : bindingInput.getExtensibilityElements());
- List outputMimeContents = getMimeContentElements(
- bindingOutput == null ? null : bindingOutput.getExtensibilityElements());
-
- // If the wsdl:input contains mime:content elements
- if (!inputMimeContents.isEmpty())
- {
- mimeContentsFound = true;
- Input portTypeInput = bindingOperation.getOperation().getInput();
- // If there is no the corresponding wsdl:input in wsdl:portType
- // or the wsdl:input does not specify a message attribute,
- // the assertion failed
- if (portTypeInput == null || portTypeInput.getMessage() == null)
- throw new AssertionFailException(
- "The corresponging operation in the wsdl:portType for the \""
- + bindingOperation.getName() + "\" binding operation is invalid.");
- // Getting a mime:content referencing an invalid wsdl:part
- String part = getInvalidMimeContentPart(
- inputMimeContents, portTypeInput.getMessage());
- // If such part is found, the assertion failed
- if (part != null)
- throw new AssertionFailException("part=\"" + part +
- "\", the input of the binding operation \""
- + bindingOperation.getName() + "\"");
- }
-
- // If the wsdl:output contains mime:content elements
- if (!outputMimeContents.isEmpty())
- {
- mimeContentsFound = true;
- Output portTypeOutput = bindingOperation.getOperation().getOutput();
- // If there is no the corresponding wsdl:output in wsdl:portType
- // or the wsdl:output does not specify a message attribute,
- // the assertion failed
- if (portTypeOutput == null || portTypeOutput.getMessage() == null)
- throw new AssertionFailException(
- "The corresponging operation in the wsdl:portType for the \""
- + bindingOperation.getName() + "\" binding operation is invalid.");
- // Getting a mime:content referencing an invalid wsdl:part
- String part = getInvalidMimeContentPart(
- outputMimeContents, portTypeOutput.getMessage());
- // If such part is found, the assertion failed
- if (part != null)
- throw new AssertionFailException("part=\"" + part +
- "\", the output of the binding operation \""
- + bindingOperation.getName() + "\"");
- }
- }
-
- // If the binding does not contain mime:content elements,
- // the assertion is not applicable
- if (!mimeContentsFound)
- throw new AssertionNotApplicableException();
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Validates every mime:content element. If it references a wsdl:part that
- * is defined using neither the type attribute nor the element attribute
- * or using them together, it is invalid.
- * @param mimeContents a list of mime:content elements.
- * @param message the corresponding wsdl:message element for mime:contentS.
- * @return a value of the part attribute of an invalid mime:content
- * or null if all the mime:content elements are valid.
- */
- private String getInvalidMimeContentPart(List mimeContents, Message message) {
- // Going throug all the mime:content elements
- for (int i = 0; i < mimeContents.size(); i++)
- {
- // Getting a value of the part attribute from a mime:element
- String partName = ((MIMEContent) mimeContents.get(i)).getPart();
- // Getting the corresponging wsdl:part
- Part part = message.getPart(partName);
- // if it is defined and use neither the type attribute
- // nor the element attribute or use them together, return part value
- if (part != null
- && ((part.getTypeName() == null && part.getElementName() == null)
- || (part.getTypeName() != null && part.getElementName() != null)))
- {
- return partName;
- }
- }
- // Return null if no one part is found
- return null;
- }
-
- /**
- * Collects all mime:content elements.
- * @param extElems a list of extensibility elements that can contain mime:contentS.
- * @return the list of mime:content elements found.
- */
- private List getMimeContentElements(List extElems)
- {
- List mimeContentElements = new ArrayList();
-
- if (extElems != null)
- {
- // Going through all the extensibility elements
- for (int i = 0; i < extElems.size(); i++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
- // If the element is mime:multipartRelated
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- // Collecting all the mime:content elements of this mime:part
- List elems = getMimeContentElements(
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements());
- // Adding the elements to the list being returned
- mimeContentElements.addAll(elems);
- }
- }
- // Else if the element is mime:content
- else if (extElem.getElementType().equals(WSDL_MIME_CONTENT))
- {
- // Adding the element to the list being returned
- mimeContentElements.add(extElem);
- }
- }
- }
-
- return mimeContentElements;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2911.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2911.java
deleted file mode 100644
index 943383bea..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2911.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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;
-
-/**
- * AP2911
- *
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>The mime:multipartRelated elements in wsdl:input and wsdl:ouput elements
- * of operations in a wsdl:binding, contain exactly one mime:part child element that contains
- * a soapbind:body child element.</assertionDescription>
- */
-public class AP2911 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2911(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- try
- {
- // A variable that indicates a binding contains at least one
- // mime:multipartRelated element
- boolean multipartsFound = false;
-
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- // Collecting all the mime:multipartRelated elements from wsdl:input and wsdl:output
- List inputMultiparts = getMimeMultipartElements(
- bindingInput == null ? null : bindingInput.getExtensibilityElements());
- List outputMultiparts = getMimeMultipartElements(
- bindingOutput == null ? null : bindingOutput.getExtensibilityElements());
-
- // If the wsdl:input contains mime:multipartRelated elements
- if (!inputMultiparts.isEmpty())
- {
- multipartsFound = true;
-
- // If there is not exactly one mime:part element containing
- // a soapbind:body child, the assertion failed
- if (!containsOneSoapBody(inputMultiparts))
- {
- throw new AssertionFailException("The invalid "
- + "mime:multipartRelated element is in the wsdl:input of the \""
- + bindingOperation.getName() + "\" binding operation.");
- }
- }
-
- // If the wsdl:output contains mime:multipartRelated elements
- if (!outputMultiparts.isEmpty())
- {
- multipartsFound = true;
-
- // If there is not exactly one mime:part element containing
- // a soapbind:body child, the assertion failed
- if (!containsOneSoapBody(outputMultiparts))
- {
- throw new AssertionFailException("The invalid "
- + "mime:multipartRelated element is in the wsdl:output of the \""
- + bindingOperation.getName() + "\" binding operation.");
- }
- }
-
- }
- // If the binding contains no one mime:multipartRelated element,
- // the assertion is not applicable
- if (!multipartsFound)
- throw new AssertionNotApplicableException();
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Looks for mime:part elements containing a soap:body child
- * for each of mime:multipartRelated element.
- * @param multiparts a list of mime:multipartRelated elements.
- * @return true if there is exactly one mime:part containing a soap:body
- * child, false otherwise.
- */
- private boolean containsOneSoapBody(List multiparts)
- {
- // A variable indicates that a soap:body element is found
- boolean soapBodyFound = false;
-
- // Going through a list of mime:multipartRelated elements
- for (int i = 0; i < multiparts.size(); i++)
- {
- // Getting a list of mime:part elements
- List mimeParts =
- ((MIMEMultipartRelated) multiparts.get(i)).getMIMEParts();
-
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- // Getting a list of extensibility elements of a mime:part
- List extElems =
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements();
- // Going through the extensibility elements
- for (int k = 0; k < extElems.size(); k++)
- {
- // If an extensibility element is a soap:body
- if (((ExtensibilityElement)extElems.get(k))
- .getElementType().equals(WSDL_SOAP_BODY))
- {
- // If a soap:body element was already found,
- // return true
- if (soapBodyFound)
- {
- return false;
- }
- // else set the variable to the true value
- else
- {
- soapBodyFound = true;
- }
- }
- }
- }
- }
-
- return soapBodyFound;
- }
-
- /**
- * Collects all mime:multipartRelated elements.
- * @param extElems a list of extensibility elements that can contain mime:multipartRelated elements.
- * @return the list of mime:multipartRelated elements found.
- */
- private List getMimeMultipartElements(List extElems)
- {
- List mimeMultipartElements = new ArrayList();
-
- if (extElems != null)
- {
- // Going through all the extensibility elements
- for (int i = 0; i < extElems.size(); i++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
- // If the element is mime:multipartRelated
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Adding the element to the list being returned
- mimeMultipartElements.add(extElem);
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- // Collecting all the mime:multipartRelated elements of this mime:part
- List elems = getMimeMultipartElements(
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements());
- // Adding the elements to the list being returned
- mimeMultipartElements.addAll(elems);
- }
- }
- }
- }
-
- return mimeMultipartElements;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2930.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2930.java
deleted file mode 100644
index 01734f8ba..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2930.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.ExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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;
-
-/**
- * AP2930
- *
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>A wsdl:fault element in a description does not have
- * mime:multipartRelated element as its child element.</assertionDescription>
- */
-public class AP2930 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2930(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- try
- {
- // A variable that indicates a binding contains at least one
- // wsdl:fault element
- boolean faultsFound = false;
-
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:fault elements
- Collection faults = bindingOperation.getBindingFaults().values();
- if (!faults.isEmpty())
- {
- faultsFound = true;
- // If there is at least one mime:multipartRelated element,
- // the assertion failed
- if (containsMimeMultiparts(faults))
- throw new AssertionFailException("The binding operation is \""
- + bindingOperation.getName() + "\".");
- }
- }
-
- // If the binding does not contain wsdl:fault elements,
- // the assertion is not applicable
- if (!faultsFound)
- throw new AssertionNotApplicableException();
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Validates wsdl:fault elements.
- * @param faults a collection of wsdl:fault elements.
- * @return true if any wsdl:fault has a mime:multipartRelated child
- * element, false otherwise.
- */
- private boolean containsMimeMultiparts(Collection faults)
- {
- // Going through all the wsdl:faultS
- Iterator i = faults.iterator();
- while (i.hasNext())
- {
- // Getting wsdl:fault's extensibility elements
- List extElems = ((BindingFault) i.next()).getExtensibilityElements();
- for (int j = 0; j < extElems.size(); j++)
- {
- // If there is a mime:multipartRelated element, return true
- if (((ExtensibilityElement)extElems.get(j))
- .getElementType().equals(WSDL_MIME_MULTIPART))
- {
- return true;
- }
- }
- }
- // There are no mime:multipartRelated elements, return false
- return false;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2940.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2940.java
deleted file mode 100644
index 6392a1d40..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2940.java
+++ /dev/null
@@ -1,450 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.xml.namespace.QName;
-
-import org.apache.xerces.impl.dv.XSSimpleType;
-import org.apache.xerces.xs.XSAttributeUse;
-import org.apache.xerces.xs.XSComplexTypeDefinition;
-import org.apache.xerces.xs.XSConstants;
-import org.apache.xerces.xs.XSElementDeclaration;
-import org.apache.xerces.xs.XSModel;
-import org.apache.xerces.xs.XSModelGroup;
-import org.apache.xerces.xs.XSObjectList;
-import org.apache.xerces.xs.XSParticle;
-import org.apache.xerces.xs.XSTerm;
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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.w3c.dom.Element;
-
-/**
- * AP2940
- *
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>In a description, a wsdl:part defined with the
- * ref:swaRef schema type is bound to a soapbind:body, or a soapbind:header
- * in a MIME binding.</assertionDescription>
- */
-public class AP2940 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2940(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- try
- {
- // A variable that indicates wsdl:portType references at least one
- // wsdl:part defined with the ref:swaRef schema type
- boolean swaRefFound = false;
-
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- Input portTypeInput = bindingOperation.getOperation().getInput();
- Output portTypeOutput = bindingOperation.getOperation().getOutput();
- // If the corresponding wsdl:input exists in wsdl:portType
- // and includes the message attribute
- if (portTypeInput != null && portTypeInput.getMessage() != null)
- {
- // Collecting all the message's parts defined with ref:swaRef
- List swaRefParts = getSwaRefParts(portTypeInput.getMessage());
- if (!swaRefParts.isEmpty())
- {
- swaRefFound = true;
- // Getting a wsdl:part that is unbound
- String unboundPart = getUnboundPart(swaRefParts,
- portTypeInput.getMessage().getQName(),
- bindingInput == null ? null : bindingInput.getExtensibilityElements());
- // If such wsdl:part exists, assertion failed
- if (unboundPart != null)
- throw new AssertionFailException("The part \"" + unboundPart
- + "\" is not bound properly to the wsdl:input of the \""
- + bindingOperation.getName() + "\" binding operation.");
- }
- }
-
- // If the corresponding wsdl:output exists in wsdl:portType
- // and includes the message attribute
- if (portTypeOutput != null && portTypeOutput.getMessage() != null)
- {
- // Collecting all the message's parts defined with ref:swaRef
- List swaRefParts = getSwaRefParts(portTypeOutput.getMessage());
- if (!swaRefParts.isEmpty())
- {
- swaRefFound = true;
- // Getting a wsdl:part that is unbound
- String unboundPart = getUnboundPart(swaRefParts,
- portTypeOutput.getMessage().getQName(),
- bindingOutput == null ? null : bindingOutput.getExtensibilityElements());
- // If such wsdl:part exists, assertion failed
- if (unboundPart != null)
- throw new AssertionFailException("The part \"" + unboundPart
- + "\" is not bound properly to the wsdl:input of the \""
- + bindingOperation.getName() + "\" binding operation.");
- }
- }
- }
-
- // If there is no wsdl:partS defined with the ref:swaRef
- // schema type, the assertion is not applicable
- if (!swaRefFound)
- throw new AssertionNotApplicableException();
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- // The assertion is "recommended", using the "warning" result
- result = AssertionResult.RESULT_WARNING;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Looks for a wsdl:part that is not bound to either soap:body or soap:header
- * in a MIME binding.
- * @param swaRefParts a list of wsdl:part names that are defined with the
- * ref:swaRef schema type.
- * @param messageName the qualified name of the wsdl:message being validated.
- * @param extElems a list of extensibility elements of either wsdl:input or
- * wsdl:output of the corresponding binding operation.
- * @return a wsdl:part name that is not bound properly, or null.
- */
- private String getUnboundPart(List swaRefParts, QName messageName, List extElems) {
- // Going through wsdl:part names
- for (int i = 0; i < swaRefParts.size(); i++)
- {
- String part = (String) swaRefParts.get(i);
- boolean boundProperly = false;
- if (extElems != null)
- {
- // Going through extensibility elements
- for (int j = 0; j < extElems.size() && !boundProperly; j++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(j);
- // If the element is mime:multipartRelated
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- // Getting the first mime:part element where soap:body
- // and soap:header could appear
- if (mimeParts.size() > 0)
- {
- List elems = ((MIMEPart) mimeParts.get(0)).getExtensibilityElements();
- // Going through all the MIME part's extensibility elements
- for (int k = 0; k < elems.size(); k ++)
- {
- ExtensibilityElement elem = (ExtensibilityElement) elems.get(k);
- // If that is a soap:body
- if (elem.getElementType().equals(WSDL_SOAP_BODY))
- {
- List pts = ((SOAPBody) elem).getParts();
- // If the part is bound by this element
- if (pts == null || pts.contains(part))
- {
- boundProperly = true;
- break;
- }
- }
- // else if that is a soap:header
- else if (elem.getElementType().equals(WSDL_SOAP_HEADER))
- {
- if (elem instanceof SOAPHeader)
- {
- SOAPHeader header = (SOAPHeader) elem;
- // If the part is bound by this element
- if (messageName.equals(header.getMessage())
- && header.getPart() != null
- && header.getPart().equals(part))
- {
- boundProperly = true;
- break;
- }
- }
- // WSDL4J 1.4 does not recognize soap:header elements that
- // are enclosed in mime:multipartRelated, so using a workaround
- else
- {
- Element header =
- ((UnknownExtensibilityElement) elem).getElement();
- // If a header references the corresponding message
- // and the part is bound by this element
- if (referencesMessage(header, messageName)
- && header.getAttribute("part").equals(part))
- {
- boundProperly = true;
- break;
- }
- }
- }
- }
- }
- }
- }
- }
- // If this part is unbound properly, return it
- if (!boundProperly)
- return part;
- }
- // All the parts are bound properly, return null
- return null;
- }
-
- /**
- * Validates whether an element contains a message attribute that references
- * a message that have the qualified name specified.
- * @param elem an element to be validated.
- * @param messageName the qualified name of a message.
- * @return true if an element is valid, false otherwise.
- */
- private boolean referencesMessage(Element elem, QName messageName)
- {
- // Getting the element's message attribute
- String message = elem.getAttribute("message");
- // finding the colon delimiter
- int colonPos = message.indexOf(":");
- String ns = null;
- // Getting a local part
- String lp = colonPos > -1 ? message.substring(colonPos + 1) : message;
- // If the delimiter is found
- if (colonPos > -1)
- {
- // Retrieving a namespace URI
- ns = validator.wsdlDocument.getDefinitions()
- .getNamespace(message.substring(0, colonPos));
- }
- // If the local part and the namespace URI are the same as a message have
- if (messageName.getLocalPart().equals(lp)
- && messageName.getNamespaceURI().equals(ns))
- {
- // element is valid, return true
- return true;
- }
- // element is not valid, return false
- return false;
- }
-
- /**
- * Collects all the wsdl:part defined with the ref:swaRef schema type.
- * @param message a message containig wsdl:part elements.
- * @return a list of wsdl:part names.
- */
- private List getSwaRefParts(Message message)
- {
- List swaRefParts = new ArrayList();
-
- // Going through message's parts
- Iterator it = message.getParts().values().iterator();
- while (it.hasNext())
- {
- Part part = (Part) it.next();
- QName ref;
- short type;
- // Getting either part's element reference or type reference
- if ((ref = part.getTypeName()) != null)
- {
- type = XSConstants.TYPE_DEFINITION;
- }
- else if ((ref = part.getElementName()) != null)
- {
- type = XSConstants.ELEMENT_DECLARATION;
- }
- // The part does conatins neither element nor type attribute,
- // proceeding with the next part
- else
- {
- continue;
- }
- // Getting a list of schemas defined
- Map schemas = validator.wsdlDocument.getSchemas();
- // Going through the schemas
- Iterator it2 = schemas.values().iterator();
- while (it2.hasNext())
- {
- XSModel xsModel = (XSModel) it2.next();
- XSTypeDefinition partType = null;
- // Getting the corresponding part type
- if (type == XSConstants.ELEMENT_DECLARATION)
- {
- XSElementDeclaration elem = xsModel.getElementDeclaration(
- ref.getLocalPart(), ref.getNamespaceURI());
- if (elem != null)
- partType = elem.getTypeDefinition();
- }
- else
- {
- partType = xsModel.getTypeDefinition(
- ref.getLocalPart(), ref.getNamespaceURI());
- }
- // If the part type is defined using the ref:swaRef schema type
- if (referencesSwaRef(partType, new ArrayList()))
- {
- // Adding the part's name to the list being returned
- swaRefParts.add(part.getName());
- }
- }
- }
- // Return the list
- return swaRefParts;
- }
-
- /**
- * Check schema type whether it contains ref:swaRef simple schema type
- * or has an attribute of this schema type.
- * @param xsType a schema type definition element
- * @return true, if schema type contains ref:swaRef, false otherwise.
- */
- private boolean referencesSwaRef(XSTypeDefinition xsType, List types)
- {
- if ((xsType != null) && (!types.contains(xsType)))
- {
- types.add(xsType);
- // If this is a complex type
- if (xsType.getTypeCategory() == XSTypeDefinition.COMPLEX_TYPE)
- {
- XSComplexTypeDefinition xsComplexType =
- (XSComplexTypeDefinition) xsType;
- // If it contains mixed context
- // check whether the context contains ref:swaRef
- if (xsComplexType.getParticle() != null
- && referencesSwaRef(xsComplexType.getParticle().getTerm(), types))
- {
- return true;
- }
- // Getting the type's attributes
- XSObjectList attrList = xsComplexType.getAttributeUses();
- for (int i = 0; i < attrList.getLength(); i++)
- {
- XSAttributeUse xsAttrUse = (XSAttributeUse) attrList.item(i);
- // If an attribute is defined using ref:swaRef, return true
- if (referencesSwaRef(
- xsAttrUse.getAttrDeclaration().getTypeDefinition(), types))
- {
- return true;
- }
- }
- }
- // else if this is a simple type
- else if (xsType.getTypeCategory() == XSTypeDefinition.SIMPLE_TYPE)
- {
- XSSimpleType xsSimpleType = (XSSimpleType) xsType;
- // If this type is ref:swaRef, return true
- if (xsSimpleType.getNamespace().equals(WSIConstants.NS_URI_SWA_REF)
- && xsSimpleType.getName().equals(WSIConstants.SCHEMA_TYPE_SWA_REF))
- {
- return true;
- }
- }
- }
- // The schema type does not contain any element defined with the ref:swaRef
- // return false
- return false;
- }
-
- /**
- * Checks a term whether it is defined with ref:swaRef.
- * @param term a term that can be one of a model group or an
- * element declaration.
- * @return true if a term is defined with ref:swaRef, false otherwise.
- */
- private boolean referencesSwaRef(XSTerm term, List types)
- {
- // If a term is an element declaration
- if (term.getType() == XSConstants.ELEMENT_DECLARATION)
- {
- // If element's type is defined with the ref:swaRef, return true
- if (referencesSwaRef(
- ((XSElementDeclaration) term).getTypeDefinition(), types))
- {
- return true;
- }
- }
- // else if a term is a model group
- else if(term.getType() == XSConstants.MODEL_GROUP)
- {
- // Getting a list of Particle schema components
- XSObjectList list = ((XSModelGroup) term).getParticles();
- for (int i = 0; i < list.getLength(); i++)
- {
- // If the term of a particle is defined with the ref:swaRef,
- // return true
- if (referencesSwaRef(((XSParticle) list.item(i)).getTerm(), types))
- {
- return true;
- }
- }
- }
- return false;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2941.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2941.java
deleted file mode 100644
index bb3a7a3ab..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2941.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Output;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-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.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Element;
-
-/**
- * AP2941
- *
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>A wsdl:binding in a description binds every wsdl:part
- * of a wsdl:message in the wsdl:portType to which it refers to one of
- * soapbind:body, soapbind:header, soapbind:fault , soapbind:headerfault,
- * or mime:content.</assertionDescription>
- */
-public class AP2941 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2941(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- try
- {
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
- Input portTypeInput = bindingOperation.getOperation().getInput();
- Output portTypeOutput = bindingOperation.getOperation().getOutput();
- // If the corresponding wsdl:input exists in wsdl:portType
- // and includes the message attribute
- if (portTypeInput != null && portTypeInput.getMessage() != null)
- {
- // Getting the list of all the parts bound by wsdl:input's child elements
- List inputParts = getBindingParts(
- bindingOperation.getBindingInput().getExtensibilityElements(),
- portTypeInput.getMessage());
- // If not true that all the wsdl:partS are bound,
- // the assertion failed
- if (!inputParts
- .containsAll(portTypeInput.getMessage().getParts().keySet()))
- {
- throw new AssertionFailException("The wsdl:input of the \""
- + bindingOperation.getName() + "\" binding operation does not "
- + "bind all the corresponding wsdl:partS.");
- }
- }
-
- // If the corresponding wsdl:output exists in wsdl:portType
- // and includes the message attribute
- if (portTypeOutput != null && portTypeOutput.getMessage() != null)
- {
- // Getting the list of all the parts bound by wsdl:output's child elements
- List outputParts = getBindingParts(
- bindingOperation.getBindingOutput().getExtensibilityElements(),
- portTypeOutput.getMessage());
- // If not true that all the wsdl:partS are bound,
- // the assertion failed
- if (!outputParts
- .containsAll(portTypeOutput.getMessage().getParts().keySet()))
- {
- throw new AssertionFailException("The wsdl:output of the \""
- + bindingOperation.getName() + "\" binding operation does not "
- + "bind all the corresponding wsdl:partS.");
- }
- }
-
- // IF there are wsdl:faultS in the wsdl:portType operation
- if (!bindingOperation.getOperation().getFaults().isEmpty())
- {
- // Collecting all the soap:fault names
- List faultNames = new ArrayList();
- Collection faults = bindingOperation.getBindingFaults().values();
- // Going through all the wsdl:faultS
- Iterator it = faults.iterator();
- while (it.hasNext())
- {
- // Getting wsdl:fault's extensibility elements
- List extElems = ((BindingFault) it.next()).getExtensibilityElements();
- for (int j = 0; j < extElems.size(); j++)
- {
- if (((ExtensibilityElement)extElems.get(j))
- .getElementType().equals(WSDL_SOAP_FAULT))
- {
- faultNames.add(((SOAPFault)extElems.get(j)).getName());
- }
- }
- }
- // If not true that all the wsdl:faultS are bound,
- // the assertion failed
- if (!faultNames.containsAll(
- bindingOperation.getOperation().getFaults().keySet()))
- {
- throw new AssertionFailException("The binding operation \""
- + bindingOperation.getName() + "\" does not "
- + "bind all the corresponding wsdl:faultS.");
- }
- }
- }
- }
- catch (AssertionFailException afe)
- {
- // The assertion is "recommended", using the "warning" result
- result = AssertionResult.RESULT_WARNING;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Collects all the parts bound by extensibility elements.
- * @param extElems a lit of extensibility elements.
- * @param message the wsdl:message element corresponging
- * to the extensibility elements.
- * @return a list of wsdl:part names bound.
- */
- private List getBindingParts(List extElems, Message message)
- {
- List parts = new ArrayList();
- if (extElems != null)
- {
- // Going through the extensibility elements
- for (int i = 0; i < extElems.size(); i++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
- // If that is a soap:body
- if (extElem.getElementType().equals(WSDL_SOAP_BODY))
- {
- // Adding all the parts bound to the list
- List pts = ((SOAPBody) extElem).getParts();
- if (pts != null)
- {
- parts.addAll(pts);
- }
- // else the parts attribute is omitted,
- // all parts defined by the message are assumed to be included
- // in the SOAP Body portion.
- else
- {
- parts.addAll(message.getParts().keySet());
- }
- }
- // else if that is a soap:header
- else if (extElem.getElementType().equals(WSDL_SOAP_HEADER))
- {
- List headerFaults = null;
- if (extElem instanceof SOAPHeader)
- {
- SOAPHeader header = (SOAPHeader) extElem;
- // If a header references the corresponding message,
- // adding part name to the list
- if (message.getQName().equals(header.getMessage()))
- parts.add(header.getPart());
-
- headerFaults = header.getSOAPHeaderFaults();
- }
- // WSDL4J 1.4 does not recognize soap:header elements that are enclosed
- // in mime:multipartRelated, so using a workaround
- else
- {
- Element header =
- ((UnknownExtensibilityElement) extElem).getElement();
- // If a header references the corresponding message,
- // adding part name to the list
- if (referencesMessage(header, message.getQName()))
- parts.add(header.getAttribute("part"));
- // Collecting soap:headerfault elements for the header
- headerFaults = getHeaderFaults(header);
- }
- // Going through the soap:headerfaultS
- for (int j = 0; j < headerFaults.size(); j++)
- {
- if (headerFaults.get(j) instanceof SOAPHeaderFault)
- {
- SOAPHeaderFault shf = (SOAPHeaderFault) headerFaults.get(j);
- // If a soap:headerfault references the corresponding
- // message, adding part name to the list
- if (message.equals(shf.getMessage()))
- parts.add(shf.getPart());
- }
- // the same workaround...
- else
- {
- Element shf = (Element) headerFaults.get(j);
- // If a soap:headerfault references the corresponding
- // message, adding part name to the list
- if (referencesMessage(shf, message.getQName()))
- parts.add(shf.getAttribute("part"));
- }
- }
- }
- // else if that is a mime:content
- else if (extElem.getElementType().equals(WSDL_MIME_CONTENT))
- {
- // adding part name to the list
- parts.add(((MIMEContent) extElem).getPart());
- }
- // else if that is a mime:multipartRelated
- else if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- // Collecting all the values of part attributes
- // of mime:part's extensibility elements
- parts.addAll(getBindingParts(
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements(),
- message));
- }
- }
- }
- }
- return parts;
- }
-
- /**
- * Validates whether an element contains a message attribute that references
- * a message that have the qualified name specified.
- * @param elem an element to be validated.
- * @param messageName the qualified name of a message.
- * @return true if an element is valid, false otherwise.
- */
- private boolean referencesMessage(Element elem, QName messageName)
- {
- // Getting the element's message attribute
- String message = elem.getAttribute("message");
- // finding the colon delimiter
- int colonPos = message.indexOf(":");
- String ns = null;
- // Getting a local part
- String lp = colonPos > -1 ? message.substring(colonPos + 1) : message;
- // If the delimiter is found
- if (colonPos > -1)
- {
- // Retrieving a namespace URI
- ns = validator.wsdlDocument.getDefinitions()
- .getNamespace(message.substring(0, colonPos));
- }
- // If the local part and the namespace URI are the same as a message have
- if (messageName.getLocalPart().equals(lp)
- && messageName.getNamespaceURI().equals(ns))
- {
- // element is valid, return true
- return true;
- }
- // element is not valid, return false
- return false;
- }
-
- /**
- * Collects all the element's child elements of the soap:headerfault type.
- * @param element an element that can have soap:headerfault elements.
- * @return the list of soap:headerfault elements found.
- */
- private List getHeaderFaults(Element element)
- {
- List headerFaults = new ArrayList();
- if (element != null)
- {
- // Getting the first header's child
- Element child = XMLUtils.getFirstChild(element);
- while (child != null)
- {
- // If the child is soap:headerfault
- if (child.getNamespaceURI().equals(WSDL_SOAP_HEADERFAULT.getNamespaceURI())
- && child.getLocalName().equals(WSDL_SOAP_HEADERFAULT.getLocalPart()))
- {
- // Adding the child to the list
- headerFaults.add(child);
- }
- // Getting the next header's child
- child = XMLUtils.getNextSibling(child);
- }
- }
- return headerFaults;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2944.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2944.java
deleted file mode 100644
index ca93a7bfd..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2944.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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;
-
-/**
- * AP2944
- *
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>In a DESCRIPTION, if a wsdl:part element refers to a
- * global element declaration (via the element attribute of the wsdl:part element)
- * then the value of the type attribute of a mime:content element that binds that part
- * is a content type suitable for carrying an XML serialization.</assertionDescription>
- */
-public class AP2944 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- // A variable that indicates a binding contains mime:content elements
- // that bind wsdl:partS defined with the element attribute
- private boolean mimeContentFound;
- /**
- * @param WSDLValidatorImpl
- */
- public AP2944(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- // Resetting the variable
- mimeContentFound = false;
-
- try
- {
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- // Collecting all the mime:content elements from wsdl:input and wsdl:output
- List inputMimeContents = getMimeContentElements(
- bindingInput == null ? null : bindingInput.getExtensibilityElements());
- List outputMimeContents = getMimeContentElements(
- bindingOutput == null ? null : bindingOutput.getExtensibilityElements());
-
- // If the wsdl:input contains mime:content elements
- if (!inputMimeContents.isEmpty())
- {
- Input portTypeInput = bindingOperation.getOperation().getInput();
- // If the corresponding wsdl:input exists in wsdl:portType
- // and includes the message attribute
- if (portTypeInput != null && portTypeInput.getMessage() != null)
- {
- // If there is an invalid mime:content element
- MIMEContent imc = getInvalidMimeContent(
- inputMimeContents, portTypeInput.getMessage());
- if (imc != null)
- {
- throw new AssertionFailException("The mime:content element in "
- + "the wsdl:input of the \"" + bindingOperation.getName()
- + "\" that binds the \"" + imc.getPart()
- + "\" wsdl:part uses the invalid content type \""
- + imc.getType() + "\". ");
- }
- }
- }
-
- // If the wsdl:output contains mime:content elements
- if (!outputMimeContents.isEmpty())
- {
- Output portTypeOutput = bindingOperation.getOperation().getOutput();
- // If the corresponding wsdl:output exists in wsdl:portType
- // and includes the message attribute
- if (portTypeOutput != null && portTypeOutput.getMessage() != null)
- {
- // If there is an invalid mime:content element
- MIMEContent imc = getInvalidMimeContent(
- outputMimeContents, portTypeOutput.getMessage());
- if (imc != null)
- {
- throw new AssertionFailException("The mime:content element in "
- + "the wsdl:output of the \"" + bindingOperation.getName()
- + "\" that binds the \"" + imc.getPart()
- + "\" wsdl:part uses the invalid content type \""
- + imc.getType() + "\". ");
- }
- }
- }
- }
- // If mime:content elements are not found,
- // the assertion is not applicable
- if (!mimeContentFound)
- throw new AssertionNotApplicableException();
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Checks whether any mime:content element binds wsdl:part that is defined
- * with the element attribute and uses the content type "text/xml".
- * @param mimeContents a list of mime:content elements of binding operation.
- * @param message the corresponding wsdl:message element.
- * @return a mime:content element that uses a content type other than
- * "text/xml", null if no one such element is found.
- */
- private MIMEContent getInvalidMimeContent(List mimeContents, Message message)
- {
- // Going through a list of mime:content elements
- for (int i = 0; i < mimeContents.size(); i++)
- {
- MIMEContent mimeContent = (MIMEContent) mimeContents.get(i);
- // Getting the corresponding wsdl:part
- Part part = message.getPart(mimeContent.getPart());
- // If the part is defined with the element attribute
- if (part != null && part.getElementName() != null)
- {
- mimeContentFound = true;
- // If the type attribute value is other than "text/xml"
- if (!WSIConstants.CONTENT_TYPE_TEXT_XML.equals(mimeContent.getType()))
- {
- // return the invalid element
- return mimeContent;
- }
- }
- }
- return null;
- }
-
- /**
- * Collects all mime:content elements.
- * @param extElems a list of extensibility elements that can contain mime:contentS.
- * @return the list of mime:content elements found.
- */
- private List getMimeContentElements(List extElems)
- {
- List mimeContentElements = new ArrayList();
-
- if (extElems != null)
- {
- // Going through all the extensibility elements
- for (int i = 0; i < extElems.size(); i++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
- // If the element is mime:multipartRelated
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- // Collecting all the mime:content elements of this mime:part
- List elems = getMimeContentElements(
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements());
- // Adding the elements to the list being returned
- mimeContentElements.addAll(elems);
- }
- }
- // Else if the element is mime:content
- else if (extElem.getElementType().equals(WSDL_MIME_CONTENT))
- {
- // Adding the element to the list being returned
- mimeContentElements.add(extElem);
- }
- }
- }
-
- return mimeContentElements;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2946.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2946.java
deleted file mode 100644
index 4555739d3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2946.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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;
-
-/**
- * AP2946
- *
- * <context>For a candidate wsdl:binding with at least one mime:content element</context>
- * <assertionDescription>In a DESCRIPTION, a mime:content element
- * includes the part attribute.</assertionDescription>
- */
-public class AP2946 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2946(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- try
- {
- // A variable that indicates a binding contains at least one
- // mime:content element
- boolean mimeContentsFound = false;
-
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- // Collecting all the mime:content elements from wsdl:input and wsdl:output
- List inputMimeContents = getMimeContentElements(
- bindingInput == null ? null : bindingInput.getExtensibilityElements());
- List outputMimeContents = getMimeContentElements(
- bindingOutput == null ? null : bindingOutput.getExtensibilityElements());
-
- // If the wsdl:input contains mime:content elements
- if (!inputMimeContents.isEmpty())
- {
- mimeContentsFound = true;
- // If there is a mime:content that does not include
- // the part attribute, the assertion failed
- if (hasInvalidMimeContent(inputMimeContents))
- throw new AssertionFailException("The invalid mime:content element"
- + " is in the wsdl:input of the \"" + bindingOperation.getName()
- + "\" binding operation.");
- }
-
- // If the wsdl:output contains mime:content elements
- if (!outputMimeContents.isEmpty())
- {
- mimeContentsFound = true;
- // If there is a mime:content that does not include
- // the part attribute, the assertion failed
- if (hasInvalidMimeContent(outputMimeContents))
- throw new AssertionFailException("The invalid mime:content element"
- + " is in the wsdl:output of the \"" + bindingOperation.getName()
- + "\" binding operation.");
- }
- }
-
- // If the binding contains no mime:content elements,
- // the assertion is not applicable
- if (!mimeContentsFound)
- throw new AssertionNotApplicableException();
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Collects all mime:content elements.
- * @param extElems a list of extensibility elements that can contain mime:contentS.
- * @return the list of mime:content elements found.
- */
- private List getMimeContentElements(List extElems)
- {
- List mimeContentElements = new ArrayList();
-
- if (extElems != null)
- {
- // Going through all the extensibility elements
- for (int i = 0; i < extElems.size(); i++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
- // If the element is mime:multipartRelated
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- // Collecting all the mime:content elements of this mime:part
- List elems = getMimeContentElements(
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements());
- // Adding the elements to the list being returned
- mimeContentElements.addAll(elems);
- }
- }
- // Else if the element is mime:content
- else if (extElem.getElementType().equals(WSDL_MIME_CONTENT))
- {
- // Adding the element to the list being returned
- mimeContentElements.add(extElem);
- }
- }
- }
-
- return mimeContentElements;
- }
-
- /**
- * Validates mime:content elements.
- * @param mimeContents a list of mime:content elements.
- * @return true if any mime:content does not include the part attribute,
- * false otherwise
- */
- private boolean hasInvalidMimeContent(List mimeContents)
- {
- // Going through a list of mime:content elements
- for (int i = 0; i < mimeContents.size(); i++)
- {
- // If a mime:content does not include the part attribute, return true
- if (((MIMEContent) mimeContents.get(i)).getPart() == null)
- return true;
- }
- // There are no invalid mime:contentS, return false
- return false;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2010.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2010.java
deleted file mode 100644
index e15193eb6..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2010.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Operation;
-import javax.wsdl.PortType;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-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;
-
-
-/**
-* BP2010.
-* "Name" attributes of Operations are unique across the wsdl:portType definition
-*
-* @version 1.0.1 27.06.2003
-* @author Vitali Fedosenko
-**/
-public class BP2010 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2010(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
-
- // Get the portType from the entry context
- PortType portType = (PortType) entryContext.getEntry().getEntryDetail();
-
- // Check the operations names for uniqueness within the candidate Port Type in the WSDL
- Iterator ops;
- HashSet namesSeen = new HashSet();
- HashSet duplicates = new HashSet();
- try
- {
- List opsList = portType.getOperations();
- if (opsList == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- // no operations found in portType
- }
- else
- {
- ops = opsList.iterator(); // will use Candidate.getOperations()
- while (ops.hasNext())
- {
- Operation op = (Operation) ops.next();
- String opName = op.getName();
- if (namesSeen.contains(opName))
- {
- duplicates.add(opName);
- }
- else
- {
- namesSeen.add(opName);
- }
- }
- }
-
- if (!duplicates.isEmpty())
- {
- StringBuffer failInfo =
- new StringBuffer(
- "Duplicate operation names in portType "
- + portType.getQName()
- + ": ");
- Iterator i = duplicates.iterator();
- while (i.hasNext())
- {
- failInfo.append((String) i.next() + "; ");
- }
- throw new AssertionFailException(failInfo.toString());
- }
- }
- catch (NullPointerException e)
- { // ?? no operations found, but does not fail the assertion.
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(e.getMessage(), entryContext, portType);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2011.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2011.java
deleted file mode 100644
index 2d5fd1847..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2011.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.io.FileInputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.StringTokenizer;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * BP2011.
- * The imported XML schema is a well-formed XML 1.0 document and if it contains an
- * XML declaration, it is version 1.0.
- *
- * @version 1.0.1 27.06.2003
- * @author Vitali Fedosenko
-**/
-public class BP2011 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2011(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- private final char[] OMMITED_XML_DECLARATION_DELIMITERS =
- new char[] { 0x20, 0x9, 0xD, 0xA, '\'', '\"' };
- private final char[] XML_DECLARATION_DELIMITERS = new char[] { '=' };
- private final String VERSION_TOKEN = "version";
- private final String VERSION = "1.0";
-
- /* Validates the test assertion.
- * @see org.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 = result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- //Definition def = (Definition) entryContext.getEntry().getEntryDetail();
- Types types = (Types) entryContext.getEntry().getEntryDetail();
-
- List exts = null;
- //if (def.getTypes()!=null)
- if (types != null)
- {
- exts = types.getExtensibilityElements();
- }
- if (exts != null)
- {
- Definition definition = null;
- if ((definition =
- validator.analyzerContext.getCandidateInfo().getDefinition(types))
- == null)
- {
- throw new WSIException("Could not find types definition in any WSDL document.");
- }
-
- Iterator it = exts.iterator();
- while (it.hasNext())
- {
- ExtensibilityElement el = (ExtensibilityElement) it.next();
- if (el instanceof UnknownExtensibilityElement)
- searchForSchema(((UnknownExtensibilityElement) el).getElement(),
- definition.getDocumentBaseURI());
- }
- }
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- } /*else
- result = AssertionResult.RESULT_PASSED;*/
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /* Search xsd schema or xsd import from node. If node is xsd import it's loading schema.
- * @param n - UnknownExtencibilityElement
- */
- private void searchForSchema(Node n, String context)
- {
- while (n != null)
- {
- // searches for xsd:import element
- if (Node.ELEMENT_NODE == n.getNodeType())
- {
- // if xsd:schema element is found -> process schema
- if (XMLUtils.equals(n, ELEM_XSD_SCHEMA))
- processSchema(n, context);
- else
- // if xsd:import element is found -> load schema and process schema
- // FIXED: if xsd:import is found and parent element is xsd:schema
- if (XMLUtils.equals(n, ELEM_XSD_IMPORT)
- && XMLUtils.equals(n.getParentNode(), ELEM_XSD_SCHEMA))
- loadSchema(n, context);
- else
- // else iterate element recursively
- searchForSchema(n.getFirstChild(), context);
- }
- n = n.getNextSibling();
- }
- }
-
- /*
- * It loads xsd schema and then check the version 1.0 and looking for xsd:schema element for next process.
- * @param importNode xsd schema
- */
- private void loadSchema(Node importNode, String context)
- {
- Element im = (Element) importNode;
- Attr schemaLocation = XMLUtils.getAttribute(im, ATTR_XSD_SCHEMALOCATION);
- // try to parse imported XSD
- if (schemaLocation != null && schemaLocation.getValue() != null)
- {
- try
- {
- // if any error or root element is not XSD schema -> error
- String decl =
- readXMLDeclarationStatement(schemaLocation.getValue(), context);
- if (!validVersion(decl))
- {
- Attr a = XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE);
- errors.add((a != null) ? a.getValue() : "");
- }
- Document schema =
- validator.parseXMLDocumentURL(schemaLocation.getValue(), context);
- if (XMLUtils.equals(schema.getDocumentElement(), ELEM_XSD_SCHEMA))
- {
- processSchema(schema.getDocumentElement(),
- XMLUtils.createURLString(schemaLocation.getValue(), context));
- }
- result = AssertionResult.RESULT_PASSED;
- }
- catch (Throwable t)
- {
- }
- }
- // else if there is only the namespace attribute, the import relates to inline schema
- else if (XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE) != null)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- }
-
- /**
- * Reads an XML declaration statement.
- * @param location
- * @return String
- */
- private String readXMLDeclarationStatement(String location, String baseURI)
- {
- String result = null;
- try
- {
- new URL(location);
- }
- catch (Throwable t)
- {
- // nothing
- int i = baseURI.lastIndexOf('/');
- int j = baseURI.lastIndexOf('\\');
- if (j > i)
- i = j;
- location = baseURI.substring(0, i + 1) + location;
- }
-
- if (location != null)
- {
- URL url = null;
- Reader reader = null;
-
- try
- {
- try
- {
- url = new URL(location);
- }
- catch (MalformedURLException e)
- {
- // we should try to access location as file
- }
-
- if (url != null)
- {
- reader = new InputStreamReader(url.openStream());
- }
- else
- {
- reader = new InputStreamReader(new FileInputStream(location));
- }
-
- int charCode;
- boolean end = false;
- if (reader.ready())
- {
- charCode = reader.read();
-
- while (reader.ready() && !(charCode == '<'))
- {
- charCode = reader.read();
- }
-
- StringBuffer buf = new StringBuffer();
- if (charCode == '<')
- {
- buf.append((char) charCode);
- while (reader.ready() && !end)
- {
- charCode = reader.read();
- buf.append((char) charCode);
-
- end = charCode == '>';
- }
- }
- else
- {
- // NOTE: This result does not get propogated back!
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "Cannot read the XML declaration statement.";
- }
-
- result = buf.toString();
- }
- }
- catch (Exception e)
- {
- }
- finally
- {
- if (reader != null)
- {
- try
- {
- reader.close();
- }
- catch (Throwable e)
- {
- }
- }
- }
- }
-
- return result;
- }
-
- /*
- * @param xmlDecl - xml declaration
- * @return if xml declaration contains version="1.0" it retirns true.
- */
- private boolean validVersion(String xmlDecl)
- {
- //boolean result = false;
- boolean result = true;
- if (xmlDecl != null)
- {
- StringTokenizer st =
- new StringTokenizer(
- OMMITED_XML_DECLARATION_DELIMITERS,
- XML_DECLARATION_DELIMITERS);
- Enumeration tokens = st.parse(xmlDecl);
- boolean found = false;
- while (tokens.hasMoreElements() && !found)
- {
- String token = (String) tokens.nextElement();
-
- if (token.equalsIgnoreCase(VERSION_TOKEN))
- {
- found = true;
-
- tokens.nextElement();
- String ver = (String) tokens.nextElement();
-
- result = VERSION.equals(ver);
- }
- }
- }
-
- return result;
- }
-
- /*
- * It's loking for xsd import and load it if find.
- * @param schema xsd schema
- */
- private void processSchema(Node schema, String context)
- {
- Node n = schema.getFirstChild();
- while (n != null)
- {
- if (Node.ELEMENT_NODE == n.getNodeType()
- && XMLUtils.equals(n, ELEM_XSD_IMPORT))
- loadSchema(n, context);
-
- n = n.getNextSibling();
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2012.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2012.java
deleted file mode 100644
index fa33c1be8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2012.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Binding;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-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.profile.validator.impl.wsdl.WSDLValidatorImpl.BindingMatch;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP2012.
- * Example:
- *
- * <message name="getConfigurationOptionsRequest">
- * <part name="refresh" element="cfg:refresh" />
- * </message>
- * <portType name="ConfiguratorPortType">
- * <operation name="getConfigurationOptions">
- * <input message="tns:getConfigurationOptionsRequest" />
- * <output ..... />
- * <fault ..... />
- * </operation>
- * </portType>
- * <binding name="ConfiguratorBinding" type="tns:ConfiguratorPortType">
- * <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
- * <operation name="getConfigurationOptions">
- * <soap:operation soapAction="http://www.zzz.com/zzz.wsdl/getConfigurationOptions" />
- * <input>
- * <soap:body use="literal" namespace="http://www.zzz.com/zzz.wsdl" />
- * </input>
- * <output>.....</output>
- * <fault>......</fault>
- * </operation>
- * </binding>
- *
- * Above, the test for this assertion might be that the element attribute is specified in the "refresh"
- * part of the getConfigurationOptionsRequest message.
- *
- * Context : for <binding> "ConfiguratorBinding", <soap:binding> style=document; <soap:body> use=literal
- * for the <input> of binding operation "getConfigurationOptions".
- * (<input> is an example. Could be <output> or <fault> equally).
- * Action: check the part(s) of the message specified in the <input> element (in example) of the <portType>,
- * namely tns:getConfigurationOptionsRequest, that the element attribute is specified. In this case we have
- * <part name="refresh" element="cfg:refresh" />, so the test passes.
- * All such parts associated with the assertion candidate binding(s) must be similarly checked for this assertion
- * to pass.
- */
-public class BP2012 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2012(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /*
- * Validates the test assertion.
- * @see org.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
- {
- // Get binding from entry context
-
- // Oleg's & Graham's version:
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // to use original version require a binding array
- //Binding[] binding = {(Binding) entryContext.getEntry().getEntryDetail()};
-
- // get list of candidate matches
- BindingMatch[] bindingMatch =
- this.validator.getBindingMatches(
- binding,
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC,
- WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT);
- if (bindingMatch.length == 0)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- try
- {
- if (!this.validator.checkPartAttributes(bindingMatch, "useInput", "useElement")
- || !this.validator.checkPartAttributes(bindingMatch, "useOutput", "useElement"))
- {
- // this should never happen
- throw new AssertionFailException("diagnostic: internal processing error!");
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(e.getMessage(), entryContext, binding);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2013.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2013.java
deleted file mode 100644
index b93a378db..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2013.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Binding;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-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.profile.validator.impl.wsdl.WSDLValidatorImpl.BindingMatch;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP2013.
- * The binding (in soapbind:body elements) only refers to part elements that have been defined using the "type" attribute.
- *
- * @version 1.0.1 27.06.2003
- * @author Vitali Fedosenko
- */
-public class BP2013 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2013(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- // Get binding from entry context
-
- // Oleg's & Graham's version:
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // to use original version require a binding array
- //Binding[] binding = {(Binding) entryContext.getEntry().getEntryDetail()};
-
- // get list of candidate matches
- BindingMatch[] bindingMatch =
- this.validator.getBindingMatches(
- binding,
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
- WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT);
- if (bindingMatch.length == 0)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- try
- {
- if (!this.validator.checkPartAttributes(bindingMatch, "useInput", "useType")
- || !this.validator.checkPartAttributes(bindingMatch, "useOutput", "useType"))
- {
- // this should never happen
- throw new AssertionFailException("diagnostic: internal processing error!");
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(e.getMessage(), entryContext, binding);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2014.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2014.java
deleted file mode 100644
index e31088981..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2014.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2014.
- * Context:
- * For a candidate wsdl:operation, if referred to by a candidate rpc-literal wsdl:binding element
- * If the parameterOrder attribute is present, it omits at most 1 part from output wsdl:message.
- **/
-public class BP2014 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2014(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- /*
- * @param binding - binding
- * @return It returns style of soap binding of binding. If style omitted returns "document" style.
- */
- private String getSOAPBindingStyle(Binding binding)
- {
- String style = null;
- List list = binding.getExtensibilityElements();
- for (int i = 0; i < list.size(); i++)
- {
- if (list.get(i) instanceof SOAPBinding)
- {
- style = ((SOAPBinding) list.get(i)).getStyle();
- break;
- }
- }
- if (style == null)
- style = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
- return style;
- }
-
- /*
- * @param list - List of extencibility elements from binding output
- * @return first soap body in list.
- */
- private SOAPBody getSOAPBody(List list)
- {
- for (int i = 0; i < list.size(); i++)
- if (list.get(i) instanceof SOAPBody)
- return (SOAPBody) list.get(i);
- return null;
- }
-
- /*
- * @param list - List of extencibility elements of binding operation
- * @return First soap operation in list.
- */
- private SOAPOperation getSOAPOperation(List list)
- {
- for (int i = 0; i < list.size(); i++)
- if (list.get(i) instanceof SOAPOperation)
- return (SOAPOperation) list.get(i);
- return null;
- }
-
- /*
- * @param oper - operation
- * @param binding - binding
- * @return if style of soap binding of binding is rpc and use of soap body of binding output of binding operation is literal then it returns true.
- */
- private boolean checkRpcLiteral(BindingOperation oper, Binding binding)
- {
- List list = oper.getExtensibilityElements();
- SOAPOperation sop = getSOAPOperation(list);
- if (sop == null)
- return false;
- String style =
- (sop.getStyle() == null
- ? getSOAPBindingStyle(binding)
- : sop.getStyle());
- if (!style.equals(WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC))
- return false;
- list = oper.getBindingOutput().getExtensibilityElements();
- SOAPBody body = getSOAPBody(list);
- if (body == null)
- return false;
- String use = body.getUse();
- if (use == null)
- return false;
-
- return use.equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT);
- }
-
- /* It checks operation contains more than one part in parameter order
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Operation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Operation obj, Object parent, WSDLTraversalContext ctx)
- {
- Binding[] bindings = validator.analyzerContext.getCandidateInfo().getBindings();
- if (obj.getParameterOrdering() == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- return;
- }
-
- if (bindings == null || obj == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- return;
- }
-
- if (obj.getOutput() == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- return;
- }
-
- if (obj.getOutput().getMessage() == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- return;
- }
-
- // For each binding
- for (int i = 0; i < bindings.length; i++)
- {
- List list = bindings[i].getBindingOperations();
- // For each binding operation
- for (int j = 0; j < list.size(); j++)
- {
- BindingOperation oper = (BindingOperation) list.get(j);
-
- // If the input operation name and binding operatino name are not null
- if (obj.getName() != null && oper.getName() != null)
- {
- // If the operation names are equal
- if (obj.getName().equals(oper.getName()))
- {
- // If the operation is RPC literal
- if (checkRpcLiteral(oper, bindings[i]))
- {
- // Get the list of parts in the parameterOrder attribute
- List parts = obj.getParameterOrdering();
-
- Output output = null;
- Message message = null;
- Map messageParts = null;
-
- // Get the list of parts for the output message
- if ((output = obj.getOutput()) != null)
- {
- if ((message = output.getMessage()) != null)
- {
- messageParts = message.getParts();
- }
- }
-
- // If there are parts in the parameterOrder attribute
- // and there are output message parts, then process assertion
- if (parts != null && messageParts != null)
- {
- int partCount = 0;
-
- String partName;
- Iterator iterator = parts.iterator();
- while (iterator.hasNext())
- {
- // Get part name from parameterOrder list
- partName = (String) iterator.next();
-
- // Check each output message part to see if there is a match
- if (messageParts.containsKey(partName))
- partCount++;
- }
-
- if ((partCount == messageParts.size())
- || (partCount == messageParts.size() - 1))
- result = AssertionResult.RESULT_PASSED;
- else
- {
- errors.add(obj.getName());
- ctx.cancelOperationProcessing();
- }
- return;
- }
-
- else
- {
- if (parts == null)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- else
- result = AssertionResult.RESULT_PASSED;
- return;
- }
- }
-
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- return;
- }
- }
- }
-
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- return;
- }
- }
- }
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- }
-
- /**
- * 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_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitOperation(true);
- traversal.ignoreImport();
- traversal.traverse((Operation) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- errors.toString(),
- entryContext,
- entryContext.getEntry().getEntryDetail());
- }
- //else
- // result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2017.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2017.java
deleted file mode 100644
index 64f4590dd..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2017.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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;
-
-
-/**
- * BP2017.
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>The "style" attribute of each operation in the contained soap:binding has the same value of "document" or "rpc", for all operations of the wsdl:binding.</assertionDescription>
- */
-public class BP2017 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2017(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- //String firstStyle = null; // GT: is this needed??
- Vector failureDetailList = new Vector();
-
- // Get the binding from the entry context
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
- if (binding == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- return validator.createAssertionResult(testAssertion, result, failureDetailList);
- }
- SOAPBinding soapB = WSDLValidatorImpl.getSoapBinding(binding);
- if (soapB == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- return validator.createAssertionResult(testAssertion, result, failureDetailList);
- }
- String styleB =
- (soapB.getStyle() == null
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : soapB.getStyle());
-
- // Try to get the SOAP operations
- HashMap soapOperationList = validator.getSoapOperations(binding);
-
- if (soapOperationList.isEmpty())
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // check that they all have the same style element value
- String style = null;
- String checkStyle;
- SOAPOperation soapOperation;
- Iterator iterator = soapOperationList.keySet().iterator();
- while (iterator.hasNext())
- {
- soapOperation = (SOAPOperation) iterator.next();
- checkStyle = soapOperation.getStyle();
- if (checkStyle == null)
- checkStyle = styleB;
- if (checkStyle != null
- && !checkStyle.equals(WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC)
- && !checkStyle.equals(WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailList.add(
- this.validator.createFailureDetail(
- "Operation Name: "
- + soapOperationList.get(soapOperation)
- + "\nSOAP Operation: "
- + soapOperation.toString(),
- entryContext,
- soapOperation));
- // REMOVE: Need to process all operations
- //break;
- }
-
- if (style == null)
- {
- style = checkStyle;
- }
- else if (!style.equals(checkStyle) || !style.equals(styleB))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailList.add(
- this.validator.createFailureDetail(
- "Operation Name: "
- + soapOperationList.get(soapOperation)
- + "\nSOAP Operation: "
- + soapOperation.toString(),
- entryContext,
- soapOperation));
- // REMOVE: Need to process all operations
- //break;
- }
- }
-
- if (style == null)
- {
- // no style attribute was found in the SOAP operation(s) of the binding.
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetailList);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2018.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2018.java
deleted file mode 100644
index dd467cd89..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2018.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Definition;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.eclipse.wst.wsi.internal.core.util.Utils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * BP2018.
- * <context>For a candidate Web service definition</context>
- * <assertionDescription>The wsdl:types element occurs either as the first child in the WSDL namespace of the wsdl:definitions element if no wsdl:documentation or wsdl:import element is present; or immediately following the wsdl:documentation element(s) if they are present but wsdl:import(s) are not, or immediately following both the wsdl:documentation and wsdl:import elemen(s) if present.</assertionDescription>
- */
-public class BP2018 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2018(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /*
- * @param el - xml element
- * @return if element is extensibility element returns true.
- */
- private boolean isExtensibilityElement(Element el)
- {
- boolean isEx = true;
- isEx = isEx && !XMLUtils.equals(el, WSDL_BINDING);
- isEx = isEx && !XMLUtils.equals(el, WSDL_DEFINITIONS);
- isEx = isEx && !XMLUtils.equals(el, WSDL_DOCUMENTATION);
- isEx = isEx && !XMLUtils.equals(el, WSDL_FAULT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_IMPORT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_INPUT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_MESSAGE);
- isEx = isEx && !XMLUtils.equals(el, WSDL_OPERATION);
- isEx = isEx && !XMLUtils.equals(el, WSDL_OUTPUT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_PART);
- isEx = isEx && !XMLUtils.equals(el, WSDL_PORT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_PORTTYPE);
- isEx = isEx && !XMLUtils.equals(el, WSDL_SERVICE);
- isEx = isEx && !XMLUtils.equals(el, WSDL_TYPES);
-
- return isEx;
- }
-
- /**
- * 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 location of the WSDL document
- Definition definition =
- (Definition) entryContext.getEntry().getEntryDetail();
- try
- {
- // Parse the WSDL document as an XML file
- Document doc =
- validator.parseXMLDocumentURL(definition.getDocumentBaseURI(), null);
-
- Element root = doc.getDocumentElement(); // get definition
-
- Element types = XMLUtils.findChildElement((Element) root, WSDL_TYPES);
-
- if (types != null)
- {
- Element el = XMLUtils.findPreviousSibling(types);
- while (el != null)
- {
- if (!isExtensibilityElement(el) &&
- ((!XMLUtils.equals(el, WSDL_IMPORT)) &&
- (!XMLUtils.equals(el, WSDL_DOCUMENTATION))))
- {
- result = AssertionResult.RESULT_FAILED;
- String message = "The " + el.getLocalName() + " element must not precede the types element.";
- failureDetail = this.validator.createFailureDetail(message, entryContext);
- break;
- }
- el = XMLUtils.findPreviousSibling(el);
- }
- }
- }
-
- catch (Throwable t)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- failureDetail =
- this.validator.createFailureDetail(
- "An error occurred while processing the document at "
- + definition.getDocumentBaseURI()
- + ".\n\n"
- + Utils.getExceptionDetails(t),
- entryContext);
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2019.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2019.java
deleted file mode 100644
index 5a670bf88..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2019.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.Iterator;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPBinding;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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.eclipse.wst.wsi.internal.core.util.Utils;
-
-
-/**
- * BP2019.
- * <context>For a candidate wsdl:binding element, if the contained soap:binding element has a "style" attribute equal to "document" and soap:operations have "use" attribute equal to "literal":</context>
- * <assertionDescription>The "namespace" attribute is not specified in any contained soapbind:body, soapbind:header, soapbind::headerfault, soapbind:fault elements </assertionDescription>
- * @version 1.0.1 27.06.2003
- * @author Vitali Fedosenko
- */
-public class BP2019 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2019(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- boolean docLitFound = false;
- String errantElements = new String("");
- // Get the binding from the entry context
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Try to get the SOAP binding
- SOAPBinding soapBinding = WSDLValidatorImpl.getSoapBinding(binding);
-
- if (soapBinding != null)
- {
- String style =
- (soapBinding.getStyle() == null)
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : soapBinding.getStyle();
- if (style.equals(WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC))
- {
- Vector soapElements = Utils.arrayToVector(this.validator.getSoapBodies(binding));
- soapElements.addAll(Utils.arrayToVector(this.validator.getSoapFaults(binding)));
- soapElements.addAll(Utils.arrayToVector(this.validator.getSoapHeaders(binding)));
- soapElements.addAll(
- Utils.arrayToVector(this.validator.getSoapHeaderFaults(binding)));
-
- Iterator i = soapElements.iterator();
- while (i.hasNext())
- {
- ExtensibilityElement soapElement =
- (ExtensibilityElement) (i.next());
- try
- {
- if (this.validator.isLiteral(soapElement))
- {
- docLitFound = true;
- if (this.validator.namespaceFoundInSoapLiteral(soapElement))
- {
- errantElements += "\n--- " + (soapElement.toString());
- }
- }
- }
- catch (Exception e)
- {
- } // continue with clenched teeth
- }
- }
- }
-
- if (!docLitFound)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // If a namespace was not found then test assertion passed
- if (errantElements.length() != 0)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "Failing elements:" + errantElements,
- entryContext);
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2020.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2020.java
deleted file mode 100644
index 428bf927e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2020.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-
-import org.apache.xerces.util.URI;
-import org.apache.xerces.util.URI.MalformedURIException;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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;
-
-
-/**
-* BP2020.
-* <context>For a candidate wsdl:binding element, if the style attribute of the contained soapbind:binding is "rpc"
-* and the use attribute is "literal".</context>
-* <assertionDescription>The namespace attribute is specified on all soapbind:body elements and the value of the
-* namespace attribute is an absolute URI. </assertionDescription>
-* @version 1.0.1 27.06.2003
-* @author Vitali Fedosenko
-**/
-public class BP2020 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2020(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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_FAILED;
- boolean rpcLitFound = false;
-
- // Get the binding from the entry context
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Try to get the SOAP binding
- SOAPBinding soapBinding = WSDLValidatorImpl.getSoapBinding(binding);
-
- // Test the assertion
- // Check style to make sure that it is rpc - the subject of the assertion
- String style = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
- if (soapBinding != null)
- style =
- (soapBinding.getStyle() == null
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : soapBinding.getStyle());
-
- if ((soapBinding != null)
- && (style.equals(WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC)))
- {
- // Get the list of SOAP body elements
- SOAPBody[] soapBodies = this.validator.getSoapBodies(binding);
-
- // Check for Soap operation namespace
- boolean assertionFailure = false;
- String namespaceURI = null;
- for (int i = 0; i < soapBodies.length && !(assertionFailure); i++)
- {
- SOAPBody soapBody = soapBodies[i];
- // Added check for null use value, since the default value is literal
- if (soapBody.getUse() == null
- || soapBody.getUse().equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
- {
- rpcLitFound = true;
- // If there is no namespace, then flag as a failure
- if ((namespaceURI = soapBody.getNamespaceURI()) == null)
- {
- assertionFailure = true;
- failureDetail =
- this.validator.createFailureDetail(
- "--- SOAP BODY:\n"
- + soapBody.toString()
- + "\n--- BINDING QNAME:\n"
- + binding.getQName(),
- entryContext);
- }
-
- // Else, verify that the namespace is an absolute URI
- else
- {
- try
- {
- //URL url = new URL(namespaceURI);
- URI uri = new URI(namespaceURI);
- if (uri.getScheme() == null)
- {
- // no scheme implies not an absolute URI
- assertionFailure = true;
- failureDetail =
- this.validator.createFailureDetail(
- "--- SOAP BODY:\n"
- + soapBody.toString()
- + "\n--- BINDING QNAME:\n"
- + binding.getQName(),
- entryContext);
- }
- }
- catch (MalformedURIException mue)
- {
- assertionFailure = true;
- failureDetail =
- this.validator.createFailureDetail(
- "--- SOAP BODY:\n"
- + soapBody.toString()
- + "\n--- BINDING QNAME:\n"
- + binding.getQName(),
- entryContext);
- }
-
- }
- }
- }
- if (!rpcLitFound)
- {
- // style is rpc but no document use elements
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- failureDetail = null;
- }
- else if (!assertionFailure)
- { // If no assertion failure, then set result to passed
- result = AssertionResult.RESULT_PASSED;
- failureDetail = null;
- }
- }
- else
- {
- // style is not rpc
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- failureDetail = null;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2021.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2021.java
deleted file mode 100644
index 105086ee5..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2021.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-
-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.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-
-
-/**
-* BP2021.
-* <context>For a candidate wsdl:binding element</context>
-* <assertionDescription>The wsdl:input element and wsdl:output element of each operation uses the attribute name "part" with a Schema type of "NMTOKEN" and does not use "parts", for both soapbind:header elements and soapbind:headerfault elements. </assertionDescription>
-*
-* @version 1.0.1 27.06.2003
-* @author Vitali Fedosenko
-**/
-public class BP2021 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2021(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- //Operation operation = null;
-
- // Get the binding from the entry context
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Get SOAP headers for this binding
- SOAPHeader[] soapHeaders = this.validator.getSoapHeaders(binding);
-
- if (soapHeaders.length == 0)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // Check each header to see if it has part element with NMTOKEN type
- for (int header = 0;
- header < soapHeaders.length
- && result.equals(AssertionResult.RESULT_PASSED);
- header++)
- {
- if ((soapHeaders[header].getPart() == null)
- || (!XMLUtils.isNmtoken(soapHeaders[header].getPart())))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(soapHeaders[header].toString(), entryContext);
- }
- // Else, check the headerfault if there is one
- else
- {
- List soapHeaderFaultList =
- soapHeaders[header].getSOAPHeaderFaults();
- Iterator iterator = soapHeaderFaultList.iterator();
-
- // Check each header fault to see if it has part element with NMTOKEN type
- while (iterator.hasNext()
- && result.equals(AssertionResult.RESULT_PASSED))
- {
- SOAPHeaderFault soapHeaderFault =
- (SOAPHeaderFault) iterator.next();
- if ((soapHeaderFault.getPart() == null)
- || (!XMLUtils.isNmtoken(soapHeaderFault.getPart())))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(soapHeaderFault.toString(), entryContext);
- }
- }
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2022.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2022.java
deleted file mode 100644
index 1145d7f84..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2022.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPFault;
-
-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;
-
-
-/**
- * BP2022.
- * <context>For a candidate wsdl:binding element</context>
- * <assertionDescription>the name attribute is specified on the soapbind:fault element.</assertionDescription>
-**/
-public class BP2022 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2022(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- // Get the binding from the entry context
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Get list of SOAP faults for the binding
- SOAPFault[] soapFaults = this.validator.getSoapFaults(binding);
-
- if (soapFaults == null || soapFaults.length == 0)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- else
- {
- // check all soap:faults.
- // MUST have a name attribute
- for (int i = 0; i < soapFaults.length; i++)
- {
- SOAPFault soapFault = soapFaults[i];
- if (soapFault.getName() == null)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "soapbind:fault element : " + soapFault.toString(),
- entryContext);
- break;
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2023.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2023.java
deleted file mode 100644
index 20360aedd..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2023.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPFault;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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;
-
-
-/**
- * BP2023.
- * <context>For a candidate wsdl:binding element, with the "use" attribute present on the soapbind:fault element</context>
- * <assertionDescription>The value of the attribute is "literal".</assertionDescription>
- */
-public class BP2023 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2023(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- // Get the binding from the entry context
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Get list of SOAP faults for the binding
- SOAPFault[] soapFaults = this.validator.getSoapFaults(binding);
-
- if (soapFaults == null || soapFaults.length == 0)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- else
- {
- // check all soap:faults.
- // MUST have a name attribute, and if a use attribute is specified, it MUST be value "literal"
- for (int i = 0; i < soapFaults.length; i++)
- {
- SOAPFault soapFault = soapFaults[i];
- if ((soapFault.getUse() != null)
- && (!soapFault
- .getUse()
- .equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT)))
- {
- result = AssertionResult.RESULT_FAILED;
-
- failureDetail =
- this.validator.createFailureDetail(soapFault.toString(), entryContext);
- break;
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2032.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2032.java
deleted file mode 100644
index afd96dbbb..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2032.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.extensions.soap.SOAPFault;
-
-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;
-
-
-/**
- * BP2032.
- * <context>For a candidate wsdl:binding element</context>
- * <assertionDescription>the name attribute that is specified on the soapbind:fault element matches the value specified on the parent element wsdl:fault.</assertionDescription>
- */
-public class BP2032 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2032(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- // Get the binding from the entry context
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Get list of Binding faults for the binding
- BindingFault[] bindingFaults = this.validator.getAllBindingFaults(binding);
-
- if (bindingFaults == null || bindingFaults.length == 0)
- {
- result = AssertionResult.RESULT_PASSED;
- }
-
- else
- {
- // for each binding fault, compare the child soap:fault name with the binding fault name
-
- for (int i = 0; i < bindingFaults.length; i++)
- {
- BindingFault bindingFault = bindingFaults[i];
- SOAPFault soapFault = this.validator.getSoapFault(bindingFault);
- if (soapFault == null
- || soapFault.getName() == null
- || bindingFault.getName() == null
- || !bindingFault.getName().equals(soapFault.getName()))
- {
- result = AssertionResult.RESULT_FAILED;
-
- failureDetail = this.validator.createFailureDetail(
- soapFault == null ? null : soapFault.toString(), entryContext);
- break;
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2034.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2034.java
deleted file mode 100644
index c8e61e8d2..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2034.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.List;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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;
-
-/**
- * BP2034
- *
- * <context>For a candidate description within a WSDL document</context>
- * <assertionDescription>The candidate description does not contain the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace".</assertionDescription>
- */
-public class BP2034 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2034(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
- // Getting wsdl:definition element
- Definition def = (Definition) entryContext.getEntry().getEntryDetail();
- Types types;
- // Getting the namespace declaration xmlns:xml
- String xmlNs = (String) def.getNamespaces().get("xml");
- // If it exists and equals to "http://www.w3.org/XML/1998/namespace"
- if (xmlNs != null && xmlNs.equals(WSIConstants.NS_URI_XML))
- {
- // setting assertion result to warning
- result = AssertionResult.RESULT_WARNING;
- }
- // there is no namespace declaration xmlns:xml in the wsdl:definition
- // element, checking whether the definition has wsdl:type element
- else if ((types = def.getTypes()) != null)
- {
- // Getting the list of wsdl:schemaS
- List extElems = types.getExtensibilityElements();
- for (int i = 0; i < extElems.size(); i++)
- {
- // Getting wsdl:schema element
- UnknownExtensibilityElement schema =
- (UnknownExtensibilityElement) extElems.get(i);
- // Getting a value of the attribute xmlns:xml
- String attrValue = schema.getElement().getAttributeNS(
- WSIConstants.NS_URI_XMLNS, "xml");
- // If it equals to "http://www.w3.org/XML/1998/namespace",
- if (WSIConstants.NS_URI_XML.equals(attrValue))
- {
- // setting assertion result to warning
- result = AssertionResult.RESULT_WARNING;
- failureDetail = validator.createFailureDetail("The namespace "
- + "declaration nested in wsdl:schema element.", entryContext);
- break;
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2098.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2098.java
deleted file mode 100644
index 6db653ee8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2098.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Import;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.eclipse.wst.wsi.internal.core.util.ErrorList;
-
-
-/**
- * BP2098.
- * <context>For a candidate wsdl:import element</context>
- * <assertionDescription>The "location" attribute is specified for the wsdl:import element, and has a non-empty value.</assertionDescription>
- */
-public class BP2098 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2098(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- /* Validates the test assertion.
- * @see org.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_FAILED;
-
- Import im = (Import) entryContext.getEntry().getEntryDetail();
- // suppose that if location is invalid, the definition equals to null
- if (im.getLocationURI() == null || im.getLocationURI() == "")
- errors.add(im.getNamespaceURI(), im.getLocationURI());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2101.java
deleted file mode 100644
index f9a73efee..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2101.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Import;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2101.
- * <context>For a candidate wsdl:definition, if it contains wsdl:import statements</context>
- * <assertionDescription>Each wsdl:import statement is only used to import another WSDL description.</assertionDescription>
- */
-public class BP2101 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2101(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- boolean importFound = false;
-
- /* Create falure report if import contains reference to non WSDL description.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Import, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Import im, Object parent, WSDLTraversalContext ctx)
- {
- importFound = true;
-
- // by the way : WSDL4J throws Exception if imported WSDL is not resolved
- // but documentation says that im.getDefinition() will be equal to null
- if (im.getDefinition() == null)
- errors.add(
- im.getNamespaceURI()
- + ":"
- + im.getLocationURI()
- + "\nImport element does not reference a WSDL definition.");
- else
- try
- {
- // try to parse WSDL according to the WSDL schema
- validator.parseXMLDocumentURL(
- im.getLocationURI(),
- ((Definition)parent).getDocumentBaseURI(),
- TestUtils.getWSDLSchemaLocation());
- }
- catch (Throwable t)
- {
- errors.add(
- im.getNamespaceURI()
- + ":"
- + im.getLocationURI()
- + "\n"
- + Utils.getExceptionDetails(t));
- }
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitImport(true);
- traversal.ignoreReferences();
- traversal.traverse((Definition) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else if (!importFound)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2102.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2102.java
deleted file mode 100644
index d272b9d75..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2102.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * BP2102.
- * <context>For a candidate wsdl:types element, with XML schema import elements</context>
- * <assertionDescription>Each XML schema import statement (xsd:import) is only used to directly reference an XML schema definition, which has "schema" from XML namespace "http://www.w3.org/2001/XMLSchema" as root element. It does not contain a reference to another document embedding the XML schema definition (e.g. WSDL).</assertionDescription>
- */
-public class BP2102 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2102(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private boolean importFound = false;
-
- /* Validates the test assertion.
- * @see org.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;
-
- // parse WSDL as XML
- try
- {
- Types t = (Types) entryContext.getEntry().getEntryDetail();
- List exts = t.getExtensibilityElements();
-
- Definition definition = null;
- if ((definition = validator.analyzerContext.getCandidateInfo().getDefinition(t))
- == null)
- {
- throw new WSIException("Could not find types definition in any WSDL document.");
- }
-
- if (exts != null)
- {
- Iterator it = exts.iterator();
- while (it.hasNext())
- {
- ExtensibilityElement el = (ExtensibilityElement) it.next();
- if (el instanceof UnknownExtensibilityElement
- && el.getElementType().equals(ELEM_XSD_SCHEMA))
- testNode(((UnknownExtensibilityElement) el).getElement(),
- definition.getDocumentBaseURI());
-
- if (result.equals(AssertionResult.RESULT_FAILED))
- {
- failureDetail =
- this.validator.createFailureDetail(failureDetailMessage, entryContext);
- }
- }
- }
-
- if (!importFound)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- catch (Throwable tt)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- failureDetail =
- this.validator.createFailureDetail(
- "WSDL document can not be processed",
- entryContext);
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /*
- * Check node is xsd import and it is
- * only used to directly reference an XML schema definition, which has "schema"
- * from XML namespace "http://www.w3.org/2001/XMLSchema" as root element.
- * And it does not contain a reference to another document embedding the XML schema
- * definition (e.g. WSDL).
- * @param n - Unknown extensibility element
- */
- private void testNode(Node n, String context)
- {
- while (n != null)
- {
- // searches for xsd:import element
- if (Node.ELEMENT_NODE == n.getNodeType())
- {
- if (XMLUtils.equals(n, ELEM_XSD_IMPORT))
- {
- importFound = true;
-
- Element im = (Element) n;
- // Getting the schemaLocation and the namespace attributes
- Attr schemaLocation =
- XMLUtils.getAttribute(im, ATTR_XSD_SCHEMALOCATION);
- Attr namespace = XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE);
- // If there is only the namespace attribute of import element
- if (schemaLocation == null && namespace != null)
- {
- // Getting all the inline schemas of the wsdl definition
- Map schemasMap = validator.wsdlDocument.getSchemas();
- // If an inline schema imported is defined
- if (schemasMap.keySet().contains(namespace.getValue()))
- {
- // If an inline schema imported is defined
- // (that means the schema is valid),
- // continue with the next element
- n = n.getNextSibling();
- continue;
- }
-
- // no schemaLocation so try the namespace
- schemaLocation = namespace;
- }
-
- // try to parse imported XSD
- if (schemaLocation != null && schemaLocation.getValue() != null)
- {
- try
- {
- // if any error or root element is not XSD schema -> error
- // !! ATTENTION
- // root XSD SCHEMA SCHEMA is not valid
- //Document schema = XMLUtils.parseXMLDocumentURL(schemaLocation.getValue(), XSD_SCHEMALOCATION, context);
- Document schema =
- validator.parseXMLDocumentURL(schemaLocation.getValue(), context);
-
- // If the import is valid, then check its contents
- if (XMLUtils
- .equals(schema.getDocumentElement(), ELEM_XSD_SCHEMA))
- {
- // Check content of imported document
- testNode(schema.getDocumentElement().getFirstChild(),
- XMLUtils.createURLString(schemaLocation.getValue(), context));
- }
-
- else
- {
- throw new Exception();
- }
- }
- catch (Throwable t)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage = schemaLocation.getValue();
- break;
- }
- }
- else
- {
- //result = AssertionResult.RESULT_FAILED;
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- failureDetailMessage =
- "schemaLocation == null and namespace == null";
- break;
- }
- }
- testNode(n.getFirstChild(), context);
- }
- n = n.getNextSibling();
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2103.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2103.java
deleted file mode 100644
index 4fda970fd..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2103.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Definition;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * BP2103.
- * <context>For each a candidate wsdl:definitions</context>
- * <assertionDescription>For the referenced definitions as well as all imported
- * descriptions, The XML schema import statement is only used within an xsd:schema
- * element.</assertionDescription>
- */
-public class BP2103 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2103(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- /* Check all unknown extensibility elements it is not xsd import.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.ExtensibilityElement, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- ExtensibilityElement el,
- Object parent,
- WSDLTraversalContext ctx)
- {
- if (el instanceof UnknownExtensibilityElement)
- searchForImport(((UnknownExtensibilityElement) el).getElement());
- }
-
- /* Validates the test assertion.
- * @see org.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_FAILED;
-
- //processWSDL(entryContext.getWSDLDocument().getFilename());
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.ignoreImport();
- traversal.visitExtensibilityElement(true);
-
- traversal.ignoreReferences();
- traversal.traverse((Definition) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /*
- * Create falure report if node is xsd import.
- * @param n - node
- */
- private void searchForImport(Node n)
- {
- while (n != null)
- {
- // searches for xsd:import element
- if (Node.ELEMENT_NODE == n.getNodeType())
- {
- if (XMLUtils.equals(n, ELEM_XSD_IMPORT))
- {
- Attr a =
- XMLUtils.getAttribute((Element) n, ATTR_XSD_SCHEMALOCATION);
- String schemaLocation = (a != null) ? a.getValue() : "";
- a = XMLUtils.getAttribute((Element) n, ATTR_XSD_NAMESPACE);
- String namespace = (a != null) ? a.getValue() : "";
- errors.add(new QName(namespace, schemaLocation));
- }
-
- else
- {
- // if xsd:schema element is found -> process schema
- if (!XMLUtils.equals(n, ELEM_XSD_SCHEMA))
- searchForImport(n.getFirstChild());
- }
- }
-
- n = n.getNextSibling();
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2104.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2104.java
deleted file mode 100644
index 792f365c3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2104.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Import;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.NullUtil;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2104.
- * <context>For a candidate wsdl:import</context>
- * <assertionDescription>The targetNamespace attribute on the wsdl:definitions element for the imported WSDL description has the same value as the namespace attribute on the wsdl:import element that imported the WSDL description.</assertionDescription>
- */
-public class BP2104 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2104(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- private boolean importFound = false;
-
- /* Create falure report if namespace of wsdl:import does not equal targetnamespace in referenced wsdl.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Import, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Import im, Object parent, WSDLTraversalContext ctx)
- {
- importFound = true;
- Definition def = im.getDefinition();
- if (def != null)
- {
- if (!NullUtil.equals(im.getNamespaceURI(), def.getTargetNamespace()))
- errors.add(
- new QName(im.getNamespaceURI(), im.getLocationURI()),
- new QName(def.getTargetNamespace(), def.getDocumentBaseURI()));
- }
- }
-
- /*
- * Validates the test assertion.
- * @see org.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_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitImport(true);
- traversal.ignoreReferences();
- traversal.traverse((Definition) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else if (!importFound)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2105.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2105.java
deleted file mode 100644
index b104c6d31..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2105.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Import;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * BP2105.
- * <context>For a candidate wsdl:definitions</context>
- * <assertionDescription>For the referenced definitions, as well as all imported descriptions, in the WSDL namespace under the wsdl:defintitions element, the wsdl:import element is either directly after the wsdl:documentation element or is the first child element if the wsdl:documentation element is not present.</assertionDescription>
- */
-public class BP2105 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2105(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- private boolean importFound = false;
-
- /*
- * Check wsld import element is either directly after the wsdl:documentation element
- * or is the first child element if the wsdl:documentation element is not present.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Import, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Import im, Object parent, WSDLTraversalContext ctx)
- {
- importFound = true;
- if (im.getDefinition() != null && im.getLocationURI() != null)
- processWSDL(im.getDefinition().getDocumentBaseURI());
- }
-
- /*
- * Check element is extensibility.
- * @param el - xml element
- * @return boolean
- */
- private boolean isExtensibilityElement(Element el)
- {
- boolean isEx = true;
- isEx = isEx && !XMLUtils.equals(el, WSDL_BINDING);
- isEx = isEx && !XMLUtils.equals(el, WSDL_DEFINITIONS);
- isEx = isEx && !XMLUtils.equals(el, WSDL_DOCUMENTATION);
- isEx = isEx && !XMLUtils.equals(el, WSDL_FAULT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_IMPORT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_INPUT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_MESSAGE);
- isEx = isEx && !XMLUtils.equals(el, WSDL_OPERATION);
- isEx = isEx && !XMLUtils.equals(el, WSDL_OUTPUT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_PART);
- isEx = isEx && !XMLUtils.equals(el, WSDL_PORT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_PORTTYPE);
- isEx = isEx && !XMLUtils.equals(el, WSDL_SERVICE);
- isEx = isEx && !XMLUtils.equals(el, WSDL_TYPES);
-
- return isEx;
- }
-
- /* Validates the test assertion.
- * @see org.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_FAILED;
-
- // Get the definition element that will be analyzed
- Definition definition =
- (Definition) entryContext.getEntry().getEntryDetail();
-
- // If it doesn't contain any imports, then the result is notApplicable
- if ((definition.getImports() == null)
- || (definition.getImports().size() == 0))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Else analyze the
- else
- {
- processWSDL(definition.getDocumentBaseURI());
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitImport(true);
-
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse(
- (Definition) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else if (!importFound)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- else
- {
- result = AssertionResult.RESULT_PASSED;
- }
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /*
- * the method loads WSDL and check structure
- * @param location
- */
- private void processWSDL(String location)
- {
- try
- {
- // parses WSDL
- Document doc = validator.parseXMLDocumentURL(location, null);
- checkWSDL(doc.getDocumentElement()); // get definition
- }
- catch (Throwable t)
- {
- // ADD: add exception handling
- //System.err.println("2105 - WSDL load failed");
- errors.add(t.toString());
- }
- }
-
- /*
- * Create falure report contains information of node.
- * @param root
- */
- private void createFailed(Node root)
- {
- Attr a = XMLUtils.getAttribute((Element) root, ATTR_WSDL_LOCATION);
- String schemaLocation = (a != null) ? a.getValue() : "";
- a = XMLUtils.getAttribute((Element) root, ATTR_WSDL_NAMESPACE);
- String namespace = (a != null) ? a.getValue() : "";
- errors.add(new QName(namespace, schemaLocation));
- }
-
- /*
- * Check wsdl correspons assertion description.
- * @param root - definition
- */
- private void checkWSDL(Node root)
- {
- if (root != null)
- {
- // Find the first import element
- Element im = XMLUtils.findChildElement((Element) root, WSDL_IMPORT);
-
- // Determine if a documentation element is present in the WSDL document
- boolean documentIsPresent =
- (XMLUtils.findChildElement((Element) root, WSDL_DOCUMENTATION)
- != null);
-
- // Verify that all import elements occur after a documentation element
- while (im != null)
- {
- // Find elements that are previous to the import element
- Element el = XMLUtils.findPreviousSibling(im);
- if (el != null)
- while (isExtensibilityElement(el) && el != null)
- if (el != null)
- el = XMLUtils.findPreviousSibling(el);
-
- // If the wsdl:document elemnt is present
- if (documentIsPresent && el != null)
- {
- if (!XMLUtils.equals(el, WSDL_DOCUMENTATION) && !XMLUtils.equals(el, WSDL_IMPORT))
- createFailed(root);
- }
-
- // Else check if it is another wsdl: element
- else if (el != null)
- {
- // If not the definitions element, then check for other wsdl: element
- if (!XMLUtils.equals(el, WSDL_DEFINITIONS) && !XMLUtils.equals(el, WSDL_IMPORT))
- {
- if (el.getNamespaceURI().equals(WSIConstants.NS_URI_WSDL))
- createFailed(root);
- }
- }
-
- // Get the next import element
- im = XMLUtils.findElement(im, WSDL_IMPORT);
- }
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2107.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2107.java
deleted file mode 100644
index 7fffb0212..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2107.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * BP2107.
- * <context>For a candidate wsdl:types element containing an xsd:schema element</context>
- * <assertionDescription>The xsd:schema element contains a targetNamespace attribute with a valid and non-null value unless the xsd:schema element has xsd:import and/or xsd:annotation as its only child element(s).</assertionDescription>
- */
-public class BP2107 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2107(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private boolean schemaFound = false;
- private ErrorList errors = new ErrorList();
- //private String context;
-
- /*
- * Validates the test assertion.
- * @see org.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_FAILED;
-
- Types t = (Types) entryContext.getEntry().getEntryDetail();
- List exts = t.getExtensibilityElements();
- if (exts != null)
- {
- //context = entryContext.getWSDLDocument().getDefinitions().getDocumentBaseURI();
- Iterator it = exts.iterator();
- while (it.hasNext())
- {
- ExtensibilityElement el = (ExtensibilityElement) it.next();
- if (el instanceof UnknownExtensibilityElement)
- searchForSchema(((UnknownExtensibilityElement) el).getElement());
- }
- }
-
- // context = entryContext.getWSDLDocument().getDefinitions().getDocumentBaseURI();
- // processWSDL(entryContext.getWSDLDocument().getFilename());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else if (!schemaFound)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /*
- * Check node schema or load schema from inmport if it exists and process it.
- * @param n - node
- */
- private void searchForSchema(Node n)
- {
- while (n != null)
- {
- // searches for xsd:import element
- if (Node.ELEMENT_NODE == n.getNodeType())
- {
- // if xsd:schema element is found -> process schema
- if (XMLUtils.equals(n, ELEM_XSD_SCHEMA))
- {
- schemaFound = true;
- processSchema(n, null);
- }
-
- else
- {
- // if xsd:import element is found -> load schema and process schema
- //if (XMLUtils.equals(n, ELEM_XSD_IMPORT))
- // loadSchema(n);
- //else
- // else iterate element recursively
- searchForSchema(n.getFirstChild());
- }
- }
-
- n = n.getNextSibling();
- }
- }
-
- /*
- * Load schema and process it.
- * @param importNode - xsd:import element
- */
- //private void loadSchema(Node importNode)
- //{
- // Element im = (Element) importNode;
- // Attr schemaLocation = XMLUtils.getAttribute(im, ATTR_XSD_SCHEMALOCATION);
- // // try to parse imported XSD
- // if (schemaLocation != null && schemaLocation.getValue() != null)
- // try
- // {
- // // if any error or root element is not XSD schema -> error
- // Document schema =
- // validator.parseXMLDocumentURL(schemaLocation.getValue(), context);
- // if (XMLUtils.equals(schema.getDocumentElement(), ELEM_XSD_SCHEMA))
- // {
- // Attr a = XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE);
- // String namespace = (a != null) ? a.getValue() : "";
- // processSchema(schema.getDocumentElement(), namespace);
- // }
- // }
- // catch (Throwable t)
- // {
- // // nothing. it's not a schema
- // }
- //}
-
- /*
- * Create falure report if it's not correspons assertion description.
- * @param schema - xsd:schema
- * @param namespace - namespace of schema
- */
- private void processSchema(Node schema, String namespace)
- {
- Attr a =
- XMLUtils.getAttribute((Element) schema, ATTR_XSD_TARGETNAMESPACE);
- String targetNamespace = (a != null) ? a.getValue() : null;
-
- Node n = schema.getFirstChild();
- // !! we suppose that xsd:import element is occured only within xsd:schema element
- boolean containsOnlyImportAndAnnotation = true;
- while (n != null)
- {
- if (n.getNodeType() == Node.ELEMENT_NODE)
- {
- containsOnlyImportAndAnnotation
- &= (XMLUtils.equals(n, ELEM_XSD_IMPORT)
- || XMLUtils.equals(n, ELEM_XSD_ANNOTATION));
- }
-
- //if (Node.ELEMENT_NODE == n.getNodeType() && XMLUtils.equals(n, ELEM_XSD_IMPORT))
- // loadSchema(n);
-
- n = n.getNextSibling();
- }
-
- // If the target namespace is not set and there are elements in addition to import and annotation, then error
- if ((targetNamespace == null || targetNamespace.length() == 0)
- && (!containsOnlyImportAndAnnotation))
- {
- errors.add(targetNamespace, XMLUtils.serialize((Element) schema));
- }
-
- if (namespace != null && !namespace.equals(targetNamespace))
- {
- errors.add(namespace, XMLUtils.serialize((Element) schema));
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2108.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2108.java
deleted file mode 100644
index bf733f5dc..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2108.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.Iterator;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-
-
-/**
- * BP2108.
- * <context>For a candidate wsdl:types, with Array declarations either locally defined or from an imported description</context>
- * <assertionDescription>The type soapenc:Array does not appear in these declarations, and the wsdl:arrayType attribute is not used in the type declaration.</assertionDescription>
- */
-public class BP2108 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2108(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- /*
- * Validates the test assertion.
- * @see org.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_FAILED;
-
- Types t = (Types) entryContext.getEntry().getEntryDetail();
-
- // Search the definitions in CandidateInfo to locate the definition element that contains the specified types element
- Definition definition = null;
- if ((definition = validator.analyzerContext.getCandidateInfo().getDefinition(t))
- == null)
- {
- // This should never happen, but if it does then throw an execption
- throw new WSIException("Could not locate types element definition.");
- }
-
- else
- {
- TypesRegistry registry =
- new TypesRegistry(
- t,
- definition.getDocumentBaseURI(),
- validator);
-
- Iterator it = registry.getArrayTypes().iterator();
- while (it.hasNext())
- errors.add((QName) it.next());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
- else
- result = AssertionResult.RESULT_PASSED;
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2110.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2110.java
deleted file mode 100644
index 519b6f0c6..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2110.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.Iterator;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-
-
-/**
- * BP2110.
- * <context>For a candidate wsdl:types</context>
- * <assertionDescription>Array declaration wrapper elements does not use the naming convention ArrayOfXXX.</assertionDescription>
- */
-public class BP2110 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2110(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- /* Validates the test assertion.
- * @see org.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_WARNING;
-
- Types t = (Types) entryContext.getEntry().getEntryDetail();
-
- // Search the definitions in CandidateInfo to locate the definition element that contains the specified types element
- Definition definition = null;
- if ((definition = validator.analyzerContext.getCandidateInfo().getDefinition(t))
- == null)
- {
- // This should never happen, but if it does then throw an execption
- throw new WSIException("Could not locate types element definition.");
- }
-
- else
- {
- TypesRegistry registry =
- new TypesRegistry(
- t,
- definition.getDocumentBaseURI(),
- validator);
-
- Iterator it = registry.getElementList().iterator();
- while (it.hasNext())
- {
- QName type = (QName) it.next();
- if (type.getLocalPart().startsWith("ArrayOf"))
- errors.add(type);
- }
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else
- result = AssertionResult.RESULT_PASSED;
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2111.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2111.java
deleted file mode 100644
index b9d942ddf..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2111.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2111.
- * <context>For a candidate wsdl:binding, which contains a document-literal soap:binding</context>
- *
- * <assertionDescription>If the "parts" attribute is present, then the soapbind:body element(s) have at most one part listed in the parts attribute.</assertionDescription>
- */
-public class BP2111 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2111(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private boolean docLiteralFound = false;
- private ErrorList errors = new ErrorList();
-
- /*
- * Put in context soap binding's style
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBinding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
-
- public void visit(
- SOAPBinding binding,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style =
- (binding.getStyle() == null)
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : binding.getStyle();
- ctx.addParameter("style", style);
- }
-
- /*
- * Verify style of soap operation is "document" if not then it's canceled process.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPOperation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style = operation.getStyle();
- if (style == null)
- style = (String) ctx.getParameter("style");
- // assert style != null
- if (!WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC.equals(style))
- ctx.cancelBindingOperationProcessing();
- }
-
- /*
- * If use of soap body is "literal" and parts of soap body is more than one it creates falure report.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBody, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
- {
- // assert style == "document"
- if (WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT.equals(body.getUse()))
- {
- docLiteralFound = true;
-
- List parts = body.getParts();
- if (parts != null && parts.size() > 1)
- //how to pick out one body from another one ?
- errors.add(body.getElementType(), body.getNamespaceURI());
- }
- }
-
- /*
- * Validates the test assertion.
- * @see org.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_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);;
- traversal.setVisitor(this);
- traversal.visitSOAPBinding(true);
- traversal.visitSOAPBody(true);
- traversal.visitSOAPOperation(true);
-
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse((Binding) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else if (!docLiteralFound)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2112.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2112.java
deleted file mode 100644
index 262bc9f34..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2112.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.WSDLUtil;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2112.
- * <context>For a candidate wsdl:binding, with a style "rpc" attribute and containing at least a soapbind:body element</context>
- * <assertionDescription>No wsdl:part referred by such a soapbind:body element is defined using the "element" attribute.</assertionDescription>
- */
-public class BP2112 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2112(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private boolean rpcLiteralFound = false;
- private ErrorList errors = new ErrorList();
-
- /*
- * Put in context soap binding's style
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBinding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
-
- public void visit(
- SOAPBinding binding,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style =
- (binding.getStyle() == null)
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : binding.getStyle();
- ctx.addParameter("bindingStyle", style);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.BindingOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- BindingOperation op,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.removeParameter("operationStyle");
- }
-
- /*
- * Verify style of soap operation is "rpc" if not then it's canceled process.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPOperation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.addParameter("operationStyle", operation.getStyle());
- }
-
- /*
- * If use of soap body is "literal" and if at least one part is define using "element" attribute it creates falure report.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBody, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
- {
- String opStyle = (String) ctx.getParameter("operationStyle");
- String bStyle = (String) ctx.getParameter("bindingStyle");
-
- if ((opStyle == null
- && !WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC.equals(bStyle))
- || (opStyle != null
- && !WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC.equals(opStyle)))
- {
- ctx.cancelBindingOperationProcessing();
- return;
- }
- // assert use == "literal"
- if (WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT.equals(body.getUse()))
- {
- rpcLiteralFound = true;
-
- // find corresponding message
- Operation op = ctx.getBindingOperation().getOperation();
- // if some links are broken, cancel processing
- if (op == null
- || (parent instanceof BindingInput && op.getInput() == null)
- || (parent instanceof BindingOutput && op.getOutput() == null))
- return;
-
- Message m =
- (parent instanceof BindingInput)
- ? op.getInput().getMessage()
- : op.getOutput().getMessage();
- // REMOVE: current message should equals to message given as entry
- //if (m == null || message != m)
- if (m == null)
- return;
-
- List parts =
- WSDLUtil.getParts(
- op,
- m,
- body,
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC);
- if (parts == null)
- return;
-
- /* check whether parts list contains a parts which uses
- * element attribute. If so, part name will be added into
- * errors set.
- */
- Iterator it = parts.iterator();
- while (it.hasNext())
- {
- Part part = (Part) it.next();
- if (part.getElementName() != null)
- errors.add(part.getName());
- }
- }
- }
-
- /*
- * Validates the test assertion.
- * @see org.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_FAILED;
- // save message
- //message = (Message)entryContext.getEntry().getEntryDetail();
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);;
- traversal.setVisitor(this);
- traversal.visitSOAPBinding(true);
- traversal.visitBindingOperation(true);
- traversal.visitSOAPOperation(true);
- traversal.visitSOAPBody(true);
-
- traversal.ignoreReferences();
- traversal.ignoreImport();
-
- traversal.traverse((Binding) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else if (!rpcLiteralFound)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2113.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2113.java
deleted file mode 100644
index bd31cdc0d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2113.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.WSDLUtil;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2113.
- * <context>For a candidate wsdl:binding element</context>
- * <assertionDescription>The soapbind:header, soapbind:headerfault and soapbind:fault elements only refer to wsdl:part element(s) that have been defined using the "element" attribute.</assertionDescription>
- */
-public class BP2113 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2113(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- /*
- * Verify soap header uses part is define using "element" attribute
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPHeader, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPHeader header,
- Object parent,
- WSDLTraversalContext ctx)
- {
- Definition d = (Definition) ctx.getParameter("definition");
- Message m = d.getMessage(header.getMessage());
- if (m != null)
- checkPart(m.getPart(header.getPart()), ctx.getBinding());
- }
-
- /*
- * Verify soap headerfault uses part is define using "element" attribute
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPHeaderFault, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPHeaderFault fault,
- Object parent,
- WSDLTraversalContext ctx)
- {
- Definition d = (Definition) ctx.getParameter("definition");
- Message m = d.getMessage(fault.getMessage());
- // if message or part is not found - NOT_APPLICABLE ????
- if (m != null)
- checkPart(m.getPart(fault.getPart()), ctx.getBinding());
- }
-
- /*
- * Verify soap fault uses part is define using "element" attribute
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPFault, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPFault fault, Object parent, WSDLTraversalContext ctx)
- {
- String faultName = fault.getName();
- if (faultName == null)
- faultName = ctx.getBindingFault().getName();
- Operation op = ctx.getBindingOperation().getOperation();
- if (op == null /* || faultName == null*/
- ) // may be it's possible to have legal fault with null name
- return;
- // we suppose that SOAPFault.getName() corresponds to the abstract operation's fault name
- Fault f = op.getFault(faultName);
- if (f == null)
- return;
- Message m = f.getMessage();
- // message should have only one part
- if (m == null || m.getParts() == null || m.getParts().size() != 1)
- return;
- checkPart((Part) m.getOrderedParts(null).get(0), ctx.getBinding());
- }
-
- /*
- * Verify part is define using "element" attribute.
- * @param p - part
- * @param b - binding
- */
- // refactoring
- private void checkPart(Part p, Binding b)
- {
- if (p != null && p.getElementName() == null)
- errors.add(b.getQName(), p.getName());
- }
-
- /*
- * Validates the test assertion.
- * @see org.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_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);;
- traversal.setVisitor(this);
- traversal.visitSOAPHeader(true);
- traversal.visitSOAPHeaderFault(true);
- traversal.visitSOAPFault(true);
-
- Map m = new HashMap();
- Definition def = entryContext.getWSDLDocument().getDefinitions();
- WSDLUtil.expandDefinition(def);
- m.put("definition", def);
- traversal.traverse((Binding) entryContext.getEntry().getEntryDetail(), m);
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2114.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2114.java
deleted file mode 100644
index 4b549d12c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2114.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Fault;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.WSDLUtil;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2114.
- * <context>For a candidate wsdl:binding element</context>
- *
- *
- * <assertionDescription>Every wsdl:part from each wsdl:message in the associated
- * wsdl:portType is referenced either by the soapbind:body, soapbind:header,
- * soapbind:fault, or soapbind:headerfault.</assertionDescription>
- */
-public class BP2114 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2114(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
- // map Message QName -> set(Part name)
- public Map messages = new HashMap();
-
- /*
- * Add to Map parts which used by message
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Message, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Message m, Object parent, WSDLTraversalContext ctx)
- {
- if (m != null
- && !messages.containsKey(m)
- && m.getOrderedParts(null) != null)
- {
- Set s = new HashSet();
- Iterator it = m.getOrderedParts(null).iterator();
- while (it.hasNext())
- s.add(((Part) it.next()).getName());
-
- //messages.put(m.getQName(), s);
- if (s.size() > 0)
- {
- messages.put(m.getQName(), s);
- }
- }
- }
-
- /*
- * Put in context style of soap binding
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBinding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPBinding binding,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style =
- (binding.getStyle() == null)
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : binding.getStyle();
- ctx.addParameter("style", style);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPOperation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style = operation.getStyle();
- if (style != null)
- ctx.addParameter("style", style);
- }
-
- /*
- * Remove parts of soap body from Map.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBody, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
- {
- // String style = (String)ctx.getParameter("style");
-
- // find corresponding message
- Operation op = ctx.getBindingOperation().getOperation();
- // if some links are broken, cancel processing
- if (op == null)
- return;
- Message m = null;
- if (parent instanceof BindingInput)
- {
- if (op.getInput() == null)
- return;
- m = op.getInput().getMessage();
- }
- else if (parent instanceof BindingOutput)
- {
- if (op.getOutput() == null)
- return;
- m = op.getOutput().getMessage();
- }
- if (m == null)
- return;
-
- // get parts
- List parts = WSDLUtil.getParts(op, m, body, null);
- if (parts == null)
- return;
-
- // iterate all parts and check
- Iterator it = parts.iterator();
- while (it.hasNext())
- removePart(m.getQName(), ((Part) it.next()).getName());
- }
-
- /*
- * Remove parts of soap header from Map.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPHeader, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPHeader header,
- Object parent,
- WSDLTraversalContext ctx)
- {
- // we suppose that it possible to have legal message and part with null names
- // ATTENTION
- // should we add message which is referenced by header or headerfault to messages ?
- removePart(header.getMessage(), header.getPart());
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPHeaderFault, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPHeaderFault fault,
- Object parent,
- WSDLTraversalContext ctx)
- {
- // we suppose that it possible to have legal message and patr with null names
- QName messageName = fault.getMessage();
- if (messageName == null)
- messageName = ctx.getSOAPHeader().getMessage();
- removePart(messageName, fault.getPart());
- }
-
- /*
- * Remove parts of soap fault from Map.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPFault, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPFault fault, Object parent, WSDLTraversalContext ctx)
- {
- String faultName = fault.getName();
- if (faultName == null)
- faultName = ctx.getBindingFault().getName();
- Operation op = ctx.getBindingOperation().getOperation();
- if (op == null)
- return;
-
- // we suppose that SOAPFault.getName() corresponds to the abstract operation's fault name
- Fault f = op.getFault(faultName);
-
- // fault message should have 1 part
- if (f == null
- || f.getMessage() == null
- || f.getMessage().getParts().size() != 1)
- return;
-
- Part p = (Part) f.getMessage().getOrderedParts(null).get(0);
- removePart(f.getMessage().getQName(), p.getName());
- }
-
- /*
- * Remove part from Map.
- * @param messageName - message
- * @param partName - part
- */
- // refatoring
- private void removePart(QName messageName, String partName)
- {
- Set parts = (Set) messages.get(messageName);
- if (parts != null)
- {
- parts.remove(partName);
- if (parts.size() == 0)
- messages.remove(messageName);
- }
- }
-
- /*
- * Validates the test assertion.
- * @see org.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_WARNING;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitMessage(true);
- traversal.visitSOAPBinding(true);
- traversal.visitSOAPBody(true);
- traversal.visitSOAPHeader(true);
- traversal.visitSOAPHeaderFault(true);
- traversal.visitSOAPFault(true);
- traversal.visitSOAPOperation(true);
-
- Binding b = (Binding) entryContext.getEntry().getEntryDetail();
- traversal.traverse(b);
-
- if (messages.size() > 0)
- errors.add(b.getQName());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2115.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2115.java
deleted file mode 100644
index be98298b9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2115.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2115.
- * <context>For a candidate wsdl:message</context>
- * <assertionDescription>An "element" attribute on any wsdl:part element refers to a global element declaration.</assertionDescription>
- */
-public class BP2115 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2115(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
- private TypesRegistry registry = null;
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Part, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Part part, Object parent, WSDLTraversalContext ctx)
- {
- if (part.getElementName() != null
- && registry.getType(part.getElementName()) == null)
- {
- errors.add(ctx.getMessage().getQName());
- ctx.cancelMessageProcessing();
- }
- }
-
- /* Validates the test assertion.
- * @see org.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_FAILED;
-
- registry =
- new TypesRegistry(
- entryContext.getWSDLDocument().getDefinitions(),
- validator);
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitPart(true);
-
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse((Message) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2116.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2116.java
deleted file mode 100644
index f19ff0991..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2116.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2116.
- * <context>For a candidate wsdl:message element</context>
- * <assertionDescription>The wsdl:message element does not contain part elements that use both "type" and "element" attributes.</assertionDescription>
- */
-public class BP2116 extends AssertionProcessVisitor implements WSITag
-{
-
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2116(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Part, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Part part, Object parent, WSDLTraversalContext ctx)
- {
- if (part.getElementName() != null && part.getTypeName() != null)
- {
- errors.add(ctx.getMessage().getQName());
- ctx.cancelMessageProcessing();
- }
- }
-
- /* Validates the test assertion.
- * @see org.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_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitPart(true);
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse((Message) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2117.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2117.java
deleted file mode 100644
index 6709fa796..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2117.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2117.
- * <context>For a candidate wsdl:binding element, referred to by an rpc-literal soap:binding</context>
- * <assertionDescription>The rpc-literal binding does not have a namespace attribute specified on a contained soapbind:header, soapbind:headerfault, and soapbind:fault element.</assertionDescription>
- */
-public class BP2117 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2117(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private boolean rpcLiteralFound = false;
- private ErrorList errors = new ErrorList();
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBinding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPBinding binding,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style =
- (binding.getStyle() == null)
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : binding.getStyle();
- ctx.addParameter("style", style);
- }
-
- /*
- * If use of soap body is "literal" and if at least one part is define using "element" attribute it creates falure report.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBody, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
- {
- // assert use == "literal"
- if (WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT.equals(body.getUse())
- && ((String) ctx.getParameter("style")).equals(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC))
- {
- rpcLiteralFound = true;
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPOperation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style = operation.getStyle();
- if (style == null)
- style = (String) ctx.getParameter("style");
-
- // assert style != null
- if (!WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC.equals(style))
- ctx.cancelBindingOperationProcessing();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPHeader, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPHeader header,
- Object parent,
- WSDLTraversalContext ctx)
- {
- check(header.getUse(), header.getNamespaceURI(), ctx);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPHeaderFault, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPHeaderFault fault,
- Object parent,
- WSDLTraversalContext ctx)
- {
- check(fault.getUse(), fault.getNamespaceURI(), ctx);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPFault, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPFault fault, Object parent, WSDLTraversalContext ctx)
- {
- check(fault.getUse(), fault.getNamespaceURI(), ctx);
- }
-
- // refactoring
- // check LITERAL use and != namespace
- // canceling further processing
- private void check(String use, String namespace, WSDLTraversalContext ctx)
- {
- if (WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT.equals(use)
- && namespace != null)
- {
- errors.add(ctx.getBinding().getQName());
- // suppresses subsequent processing, because error list contains only failed binding
- ctx.cancelProcessing();
- }
- }
-
- /* Validates the test assertion.
- * @see org.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_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitSOAPBinding(true);
- traversal.visitSOAPBody(true);
- traversal.visitSOAPHeader(true);
- traversal.visitSOAPHeaderFault(true);
- traversal.visitSOAPFault(true);
- traversal.visitSOAPOperation(true);
-
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse((Binding) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else if (!rpcLiteralFound)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2118.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2118.java
deleted file mode 100644
index 6a4a73385..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2118.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Operation;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2118.
- * <context>For a candidate wsdl:binding element</context>
- * <assertionDescription>The list (or set) of wsdl:operation elements for the contained wsdl:binding is the same as the list of wsdl:operations for the referred wsdl:portType.</assertionDescription>
- */
-public class BP2118 extends AssertionProcessVisitor implements WSITag
-{
-
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2118(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Operation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Operation op, Object parent, WSDLTraversalContext ctx)
- {
- // assert parent instanceof BindingOperation
- if (op == null)
- {
- errors.add(ctx.getBinding().getQName());
- // suppresses subsequent processing, because error list contains only failed binding
- ctx.cancelBindingProcessing();
- ctx.cancelBindingOperationProcessing();
- }
- }
-
- /* Validates the test assertion.
- * @see org.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_FAILED;
-
- Binding b = (Binding) entryContext.getEntry().getEntryDetail();
- // if operations count in port type and binding is differ -> error
- if (b.getPortType() == null
- || b.getPortType().getOperations().size()
- != b.getBindingOperations().size())
- errors.add(b.getQName());
- else
- {
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitOperation(true);
- traversal.traverse(b);
- }
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2119.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2119.java
deleted file mode 100644
index 3de1a8342..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2119.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.Map;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Operation;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2119.
- * <context>For a candidate wsdl:binding, which is of type document-literal</context>
- * <assertionDescription>If it does not specify the parts attribute on a soapbind:body element, the corresponding abstract wsdl:message defines zero or one wsdl:part.</assertionDescription>
- */
-public class BP2119 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2119(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private boolean docLiteralFound = false;
- private ErrorList errors = new ErrorList();
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBinding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPBinding binding,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style =
- (binding.getStyle() == null)
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : binding.getStyle();
- ctx.addParameter("style", style);
- }
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPOperation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style = operation.getStyle();
- if (style == null)
- style = (String) ctx.getParameter("style");
- // assert style != null
- if (!WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC.equals(style))
- ctx.cancelBindingOperationProcessing();
- }
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBody, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
- {
- String use =
- (body.getUse() == null)
- ? WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT
- : body.getUse();
-
- // assert style == "document"
- if (WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT.equals(use))
- {
- docLiteralFound = true;
- if (body.getParts() == null)
- {
- Operation op = ctx.getBindingOperation().getOperation();
- if (op == null)
- return;
-
- Map parts = null;
- if (parent instanceof BindingInput)
- {
- if (op.getInput() == null || op.getInput().getMessage() == null)
- return;
- parts = op.getInput().getMessage().getParts();
- }
- else if (parent instanceof BindingOutput)
- {
- if (op.getOutput() == null || op.getOutput().getMessage() == null)
- return;
- parts = op.getOutput().getMessage().getParts();
- }
-
- if (parts != null && parts.size() > 1)
- {
- errors.add(ctx.getBinding().getQName());
- // suppresses subsequent processing, because error list contains only failed binding
- ctx.cancelBindingProcessing();
- ctx.cancelBindingOperationProcessing();
- ctx.cancelBindingInputProcessing();
- ctx.cancelBindingOutputProcessing();
- }
- }
- }
- }
-
- /* Validates the test assertion.
- * @see org.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_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitSOAPBinding(true);
- traversal.visitSOAPBody(true);
- traversal.visitSOAPOperation(true);
- traversal.ignoreImport();
- traversal.traverse((Binding) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else if (!docLiteralFound)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2120.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2120.java
deleted file mode 100644
index 692728364..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2120.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.WSDLUtil;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2120.
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>Each operation referenced by the binding results in a unique wire signature.</assertionDescription>
- */
-public class BP2120 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2120(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
- private Set wares = new HashSet();
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBinding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPBinding binding,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style =
- (binding.getStyle() == null)
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : binding.getStyle();
- ctx.addParameter("style", style);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPOperation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style = operation.getStyle();
- if (style != null)
- ctx.addParameter("style", style);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBody, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
- {
- List signature = new LinkedList();
-
- String style = (String) ctx.getParameter("style");
-
- // find corresponding message
- Operation op = ctx.getBindingOperation().getOperation();
-
- // if some links are broken, cancel processing
- if (op == null
- || op.getInput() == null
- || op.getInput().getMessage() == null)
- return;
- Message m = op.getInput().getMessage();
-
- List parts = WSDLUtil.getParts(op, m, body, style);
- if (parts == null)
- return;
- // !! ATTENTION
- // may be required to add types instead of part into signature ?
-
- // create signature
- signature.addAll(parts);
-
- // suppose that wire signature for
- // - rpc style = operation name + parts' qname
- // - document style = parts' qname
- if (WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC.equals(style))
- signature.add(0, op.getName());
-
- if (sameSignature(wares, signature))
- errors.add(op.getName());
- else
- wares.add(signature);
- }
-
- /**
- * Check if the signature is in the set match.
- */
- private boolean sameSignature(Set signatureSet, List signature)
- {
- boolean same = false;
-
- // Get iterator for set
- Iterator set = signatureSet.iterator();
- while (set.hasNext() && !same)
- {
- // Get next signature from the set
- List nextSignature = (List) set.next();
-
- // Only continue if the signatures are the same size
- if (nextSignature.size() == signature.size())
- {
- Iterator iterator1 = nextSignature.iterator();
- Iterator iterator2 = signature.iterator();
-
- // Assume same until a difference is found
- same = true;
-
- // Process each list until a difference is found
- while (iterator1.hasNext() && iterator2.hasNext() && same)
- {
- // Get the next elements
- Object element1 = iterator1.next();
- Object element2 = iterator2.next();
-
- // If the element is a string, then if equal check parts
- if ((element1 instanceof String)
- && (element2 instanceof String)
- && (((String) element1).equals((String) element2)))
- {
- same = true;
- }
-
- // If the elements are parts, then check if they are equal
- else if ((element1 instanceof Part) && (element2 instanceof Part))
- {
- same = sameParts((Part) element1, (Part) element2);
- }
-
- else
- {
- same = false;
- }
- }
- }
- }
-
- return same;
- }
-
- /**
- * Check if two parts are the same.
- */
- private boolean sameParts(Part part1, Part part2)
- {
- boolean same = false;
-
- // If the part has an element then see if they are the same
- if (part1.getElementName() != null
- && part2.getElementName() != null
- && part1.getElementName().equals(part2.getElementName()))
- {
- same = true;
- }
-
- // If the part has an type then see if they are the same
- else if (
- part1.getTypeName() != null
- && part2.getTypeName() != null
- && part1.getTypeName().equals(part2.getTypeName()))
- {
- same = true;
- }
-
- else
- {
- same = false;
- }
-
- return same;
- }
-
- /* Validates the test assertion.
- * @see org.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_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitSOAPBinding(true);
- traversal.visitSOAPBody(true);
- traversal.visitSOAPOperation(true);
- traversal.ignoreBindingOutput();
- traversal.traverse((Binding) entryContext.getEntry().getEntryDetail());
-
- // !! ATTENTION
- // Analyze soapbind:body:namespace and service targetNamespace
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2121.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2121.java
deleted file mode 100644
index 6ad594a36..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2121.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.util.WSDLUtil;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2121.
- * Context:
- * For a wsdl:binding element which is referenced directly or associated
- * with a specified wsdl:port.
- *
- * Assertion Description:
- * Each operation referenced by a document-literal binding must have a
- * message definition where the wsdl:part references a global element
- * definition.
- */
-public class BP2121 extends AssertionProcessVisitor implements WSITag
-{
-
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2121(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
- private TypesRegistry registry = null;
-
- public void visit(
- SOAPBinding binding,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style =
- (binding.getStyle() == null)
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : binding.getStyle();
- ctx.addParameter("style", style);
- }
- public void visit(
- SOAPOperation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style = operation.getStyle();
- if (style == null)
- style = (String) ctx.getParameter("style");
- // assert style != null
- if (!WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC.equals(style))
- ctx.cancelBindingOperationProcessing();
- }
-
- public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
- {
- // !! ATTENTION
- // we suppose that soapbody child elements is its parts.
- // assert style == "document"
- if (WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT.equals(body.getUse()))
- {
- // find corresponding message
- Operation op = ctx.getBindingOperation().getOperation();
- // if some links are broken, cancel processing
- if (op == null
- || (parent instanceof BindingInput && op.getInput() == null)
- || (parent instanceof BindingOutput && op.getOutput() == null))
- return;
-
- Message m =
- (parent instanceof BindingInput)
- ? op.getInput().getMessage()
- : op.getOutput().getMessage();
- if (m == null)
- return;
-
- // find parts which are involved in the given body
- List parts =
- WSDLUtil.getParts(
- op,
- m,
- body,
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC);
- if (parts == null)
- return;
-
- // check parts
- Iterator it = parts.iterator();
- while (it.hasNext())
- {
- Part p = (Part) it.next();
- // check whether p declared as global element
- if (p.getElementName() == null
- || registry.getType(p.getElementName()) == null)
- {
- errors.add(op.getName());
- // suppresses subsequent processing, because error list contains only failed operation
- ctx.cancelBindingOperationProcessing();
- }
- }
- }
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- registry =
- new TypesRegistry(
- entryContext.getWSDLDocument().getDefinitions(),
- validator);
-
- // collect all types from messages to checkedParts map
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitSOAPBinding(true);
- traversal.visitSOAPBody(true);
- traversal.visitSOAPOperation(true);
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse((Binding) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2122.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2122.java
deleted file mode 100644
index f6caf111f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2122.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.List;
-
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.eclipse.wst.wsi.internal.core.util.ErrorList;
-
-
-/**
- * BP2122.
- * <context>For a candidate wsdl:types element</context>
- * <assertionDescription>The data type definition if any within the wsdl:types element is an XML schema definition defined in the XML Schema 1.0 Recommendation with the namespace URI "http://www.w3.org/2001/XMLSchema".</assertionDescription>
- */
-public class BP2122 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2122(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_PASSED;
- ErrorList errorList = new ErrorList();
-
- // Get the types from the entry context
- Types types = (Types) entryContext.getEntry().getEntryDetail();
-
- if (types != null)
- {
- ExtensibilityElement extElement;
- List extElements = types.getExtensibilityElements();
-
- // Process each ext. element
- for (int i = 0; i < extElements.size(); i++)
- {
- // If it is an unknown ext. element and it is a schema, then check it
- if ((extElement = (ExtensibilityElement) extElements.get(i))
- instanceof UnknownExtensibilityElement)
- {
- if (!extElement.getElementType().equals(WSITag.ELEM_XSD_SCHEMA))
- {
- // If it is not a schema definition, then it is an error
- errorList.add(
- extElement.getElementType().toString()
- + " can not be a child of the wsdl:types element.");
- }
- }
- }
- }
-
- // If XMLSchemaValidator could not find any errors, check errors from the inline schema validator
- if (errorList.isEmpty())
- errorList.add(validator.wsdlDocument.getSchemasValidationErrors());
-
- if (!errorList.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errorList.toString(), entryContext);
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2123.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2123.java
deleted file mode 100644
index af5f833d2..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2123.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.extensions.ExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Element;
-
-
-/**
- * BP2123.
- * <context>For a candidate wsdl:definitions, if it contains a wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message</context>
- * <assertionDescription>Contained WSDL extension elements do not use the wsdl:required attribute value of "true".</assertionDescription>
- */
-public class BP2123 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2123(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private boolean claimFound = false;
-
- private static final String PORT_KEY = "port";
- private static final String BINDING_KEY = "binding";
- private static final String PORT_TYPE_KEY = "port type";
- private static final String OPERATION_KEY = "operation";
- private static final String MESSAGE_KEY = "message";
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Port, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Port port, Object parent, WSDLTraversalContext ctx)
- {
- if (port != null)
- {
- if (containsLegalClaim(port.getDocumentationElement()))
- {
- claimFound = true;
- ctx.addParameter(PORT_KEY, Boolean.TRUE);
- }
- else
- {
- ctx.addParameter(PORT_KEY, Boolean.FALSE);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Binding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Binding binding, Object parent, WSDLTraversalContext ctx)
- {
- if (binding != null)
- {
- Boolean port = (Boolean) ctx.getParameter(PORT_KEY);
-
- if (port.booleanValue())
- {
- ctx.addParameter(BINDING_KEY, Boolean.TRUE);
- }
- else
- {
- claimFound = containsClaim(binding.getDocumentationElement());
- ctx.addParameter(
- BINDING_KEY,
- new Boolean(containsLegalClaim(binding.getDocumentationElement())));
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.PortType, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(PortType type, Object parent, WSDLTraversalContext ctx)
- {
- if (type != null)
- {
- Boolean binding = (Boolean) ctx.getParameter(BINDING_KEY);
-
- if (binding.booleanValue())
- {
- ctx.addParameter(PORT_TYPE_KEY, Boolean.TRUE);
- }
- else
- {
- claimFound = containsClaim(type.getDocumentationElement());
- ctx.addParameter(
- PORT_TYPE_KEY,
- new Boolean(containsLegalClaim(type.getDocumentationElement())));
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Operation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- Operation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- if (operation != null)
- {
- Boolean type = (Boolean) ctx.getParameter(PORT_TYPE_KEY);
-
- if (type.booleanValue())
- {
- ctx.addParameter(OPERATION_KEY, Boolean.TRUE);
- }
- else
- {
- claimFound = containsClaim(operation.getDocumentationElement());
- ctx.addParameter(
- OPERATION_KEY,
- new Boolean(
- containsLegalClaim(operation.getDocumentationElement())));
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Message, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Message message, Object parent, WSDLTraversalContext ctx)
- {
- if (message != null)
- {
- Boolean operation = (Boolean) ctx.getParameter(OPERATION_KEY);
-
- if (operation.booleanValue())
- {
- ctx.addParameter(MESSAGE_KEY, Boolean.TRUE);
- }
- else
- {
- claimFound = containsClaim(message.getDocumentationElement());
- ctx.addParameter(
- MESSAGE_KEY,
- new Boolean(containsLegalClaim(message.getDocumentationElement())));
- }
- }
- }
-
- /*
- public void visit(BindingOperation operation, Object parent, WSDLTraversalContext ctx) {
- if (operation != null) {
- if (containsLegalClaim(operation.getDocumentationElement())) {
- System.out.println("binding operation found");
- } else {
-
- }
- }
- }
- */
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.ExtensibilityElement, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
-
- public void visit(
- ExtensibilityElement el,
- Object parent,
- WSDLTraversalContext ctx)
- {
- boolean required =
- el != null
- && el.getRequired() != null
- && el.getRequired().booleanValue();
-
- if (isParentConforms(parent, ctx))
- {
- if (required)
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetailMessage = el.toString();
- }
- }
- }
-
- /**
- * Indicates whether the parent element conforms to the basic profile.
- * @param parent
- * @param ctx
- * @return boolean
- */
- private boolean isParentConforms(Object parent, WSDLTraversalContext ctx)
- {
- boolean result = false;
-
- if (parent instanceof Port)
- {
- result = ((Boolean) ctx.getParameter(PORT_KEY)).booleanValue();
- }
- else if (
- parent instanceof Binding
- || parent instanceof BindingOperation
- || parent instanceof BindingInput
- || parent instanceof BindingOutput
- || parent instanceof BindingFault)
- {
- result = ((Boolean) ctx.getParameter(BINDING_KEY)).booleanValue();
- }
- else if (parent instanceof PortType)
- {
- result = ((Boolean) ctx.getParameter(PORT_TYPE_KEY)).booleanValue();
- }
- else if (
- parent instanceof Operation
- || parent instanceof Input
- || parent instanceof Output
- || parent instanceof Fault)
- {
- result = ((Boolean) ctx.getParameter(OPERATION_KEY)).booleanValue();
- }
- else if (parent instanceof Message || parent instanceof Part)
- {
- result = ((Boolean) ctx.getParameter(MESSAGE_KEY)).booleanValue();
- }
-
- return result;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_PASSED;
-
- // Expect wsdl:defintions
- Definition def = (Definition) entryContext.getEntry().getEntryDetail();
- //((Service)def.getServices().values().toArray()[0]).getPorts()
- // Traverse WSDL
- WSDLTraversal traversal = new WSDLTraversal();
- // VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitOperation(true);
- traversal.visitBinding(true);
- traversal.visitMessage(true);
- traversal.visitPort(true);
- traversal.visitPortType(true);
- traversal.visitExtensibilityElement(true);
-
- traversal.ignoreImport();
- traversal.ignoreDefinition2Binding();
- traversal.ignoreDefinition2Element();
- traversal.ignoreDefinition2ExtensibilityElement();
- traversal.ignoreDefinition2Message();
- traversal.ignoreDefinition2PortType();
- traversal.ignoreDefinition2Types();
-
- traversal.traverse(def);
-
- if (!claimFound)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- else if (result.equals(AssertionResult.RESULT_WARNING))
- {
- failureDetail = this.validator.createFailureDetail(failureDetailMessage, entryContext);
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /**
- * Check the documentation element whether contains conformance claims.
- * Returns true if documentation element contains conformance claim with
- * legal schema definition URI.
- * legal is 'http://ws-i.org/schemas/conformanceClaim/'
- * @param el
- * @return boolean
- */
- private boolean containsClaim(Element el)
- {
- if (el == null)
- return false;
- // find claim
- el = XMLUtils.findChildElement(el, WSI_CLAIM);
- if (el != null)
- {
- return true;
- }
- return false;
- }
-
- /**
- * Check the documentation element whether contains conformance claims.
- * Returns true if documentation element contains conformance claim with
- * legal schema definition URI.
- * legal is 'http://ws-i.org/schemas/conformanceClaim/'
- * @param el
- * @return boolean
- */
- private boolean containsLegalClaim(Element el)
- {
- if (el == null)
- return false;
- // find claim
- el = XMLUtils.findChildElement(el, WSI_CLAIM);
- while (el != null)
- {
- String value = el.getAttribute(ATTR_CLAIM_CONFORMSTO.getLocalPart());
- if (value != null
- && value.equalsIgnoreCase(WSIConstants.ATTRVAL_UDDI_CLAIM_KEYVALUE))
- {
- return true;
- }
-
- el = XMLUtils.findElement(el, WSI_CLAIM);
- }
- return false;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2201.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2201.java
deleted file mode 100644
index 324ddfc3e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2201.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-import java.io.FileInputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Enumeration;
-
-import javax.wsdl.Definition;
-
-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.eclipse.wst.wsi.internal.core.util.StringTokenizer;
-
-/**
- * BP2201.
- * <context>For a candidate Web service definition within a WSDL document with a XML declaration statement. </context>
- * <assertionDescription>The XML declaration statement uses UTF-8 or UTF-16 for the encoding. </assertionDescription>
- */
-public class BP2201 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2201(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private final char[] OMMITED_XML_DECLARATION_DELIMITERS = new char[]{0x20,
- 0x9, 0xD, 0xA, '\'', '\"'};
- private final char[] XML_DECLARATION_DELIMITERS = new char[]{'='};
- private final String UTF_8_ENCODING = "UTF-8";
- private final String UTF_16_ENCODING = "UTF-16";
- private final String ENCODING_TOKEN = "encoding";
- /*
- * (non-Javadoc)
- *
- * @see org.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;
- Definition definition = (Definition) entryContext.getEntry()
- .getEntryDetail();
- String location = definition.getDocumentBaseURI();
- String xmlDecl = readXMLDeclarationStatement(location);
- if (xmlDecl == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- } else
- {
- if (!validEncoding(xmlDecl))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(xmlDecl, entryContext);
- }
- }
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
- /**
- * Reads an XML declaration statement.
- *
- * @param location
- * @return String
- */
- private String readXMLDeclarationStatement(String location)
- {
- String result = null;
- if (location != null)
- {
- URL url = null;
- Reader reader = null;
- try
- {
- try
- {
- url = new URL(location);
- } catch (MalformedURLException e)
- {
- // we should try to access location as file
- }
- if (url != null)
- {
- reader = new InputStreamReader(url.openStream());
- } else
- {
- reader = new InputStreamReader(new FileInputStream(location));
- }
- int charCode;
- boolean end = false;
- if (reader.ready())
- {
- charCode = reader.read();
- while (reader.ready() && !(charCode == '<'))
- {
- charCode = reader.read();
- }
- char[] c = new char[4];
- reader.read(c);
- StringBuffer buf = new StringBuffer();
- if (new String(c).toLowerCase().equals("?xml"))
- {
- buf.append("<?xml");
- while (reader.ready() && !end)
- {
- charCode = reader.read();
- buf.append((char) charCode);
- end = charCode == '>';
- }
- } else
- {
- // NOTE: This result does not get propogated back!
- this.result = AssertionResult.RESULT_NOT_APPLICABLE;
- return null;
- }
- result = buf.toString();
- }
- } catch (Exception e)
- {
- //VERBOSE
- if (validator.verboseOption)
- {
- System.err.println(" [WSI2201] Exception: " + e.getMessage());
- }
- } finally
- {
- if (reader != null)
- {
- try
- {
- reader.close();
- } catch (Throwable e)
- {
- }
- }
- }
- }
- return result;
- }
- /*
- * Verify xml declaration contains utf-16 or utf-8 encoding. @param xmlDecl -
- * xml declaration @return
- */
- private boolean validEncoding(String xmlDecl)
- {
- //boolean result = false;
- boolean result = true;
- if (xmlDecl != null)
- {
- StringTokenizer st = new StringTokenizer(
- OMMITED_XML_DECLARATION_DELIMITERS, XML_DECLARATION_DELIMITERS);
- Enumeration tokens = st.parse(xmlDecl);
- boolean found = false;
- while (tokens.hasMoreElements() && !found)
- {
- String token = (String) tokens.nextElement();
- if (token.equals(ENCODING_TOKEN))
- {
- found = true;
- tokens.nextElement();
- String enc = (String) tokens.nextElement();
- result = UTF_8_ENCODING.equalsIgnoreCase(enc)
- || UTF_16_ENCODING.equalsIgnoreCase(enc);
- }
- }
- }
- return result;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2202.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2202.java
deleted file mode 100644
index 64c793426..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2202.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.io.FileInputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.StringTokenizer;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * BP2202.
- * <context>For a candidate wsdl:types element within a WSDL document which imports an XML schema directly or indirectly.</context>
- * <assertionDescription>The imported schema uses UTF-8 or UTF-16 for the encoding.</assertionDescription>
- */
-public class BP2202 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2202(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
- private boolean importFound = false;
-
- private final char[] OMMITED_XML_DECLARATION_DELIMITERS =
- new char[] { 0x20, 0x9, 0xD, 0xA, '\'', '\"' };
- private final char[] XML_DECLARATION_DELIMITERS = new char[] { '=' };
- private final String UTF_8_ENCODING = "UTF-8";
- private final String UTF_16_ENCODING = "UTF-16";
-
- private final String ENCODING_TOKEN = "encoding";
-
- /* (non-Javadoc)
- * @see org.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 = result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- //Definition def = (Definition) entryContext.getEntry().getEntryDetail();
- Types types = (Types) entryContext.getEntry().getEntryDetail();
- List exts = null;
- //if (def.getTypes() != null)
- if (types != null)
- //exts = def.getTypes().getExtensibilityElements();
- exts = types.getExtensibilityElements();
- if (exts != null)
- {
- Definition definition = null;
- if ((definition =
- validator.analyzerContext.getCandidateInfo().getDefinition(types))
- == null)
- {
- throw new WSIException("Could not find types definition in any WSDL document.");
- }
-
- Iterator it = exts.iterator();
- while (it.hasNext())
- {
- ExtensibilityElement el = (ExtensibilityElement) it.next();
- if (el instanceof UnknownExtensibilityElement
- && el.getElementType().equals(ELEM_XSD_SCHEMA))
- searchForSchema(((UnknownExtensibilityElement) el).getElement(),
- definition.getDocumentBaseURI());
- }
- }
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else if (!importFound)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /*
- * Search xsd schema or xsd import from node. If node is xsd import it's loading schema.
- * @param n - node
- */
- private void searchForSchema(Node n, String context)
- {
- while (n != null)
- {
- // searches for xsd:import element
- if (Node.ELEMENT_NODE == n.getNodeType())
- {
- // if xsd:schema element is found -> process schema
- if (XMLUtils.equals(n, ELEM_XSD_SCHEMA))
- {
- processSchema(n, context);
- }
- else
- {
- // if xsd:import element is found -> load schema and process schema
- if (XMLUtils.equals(n, ELEM_XSD_IMPORT))
- {
- importFound = true;
- loadSchema(n, context);
- }
- else
- // else iterate element recursively
- searchForSchema(n.getFirstChild(), context);
- }
- }
- n = n.getNextSibling();
- }
- }
-
- /*
- * It loads xsd schema and then check valid encoding and looking for xsd:schema element for next process.
- * @param importNode - xsd schema
- */
- private void loadSchema(Node importNode, String context)
- {
- Element im = (Element) importNode;
- Attr schemaLocation = XMLUtils.getAttribute(im, ATTR_XSD_SCHEMALOCATION);
- // try to parse imported XSD
- if (schemaLocation != null && schemaLocation.getValue() != null)
- try
- {
- // if any error or root element is not XSD schema -> error
- String decl =
- readXMLDeclarationStatement(schemaLocation.getValue(), context);
- if (!validDeclaration(decl,
- ENCODING_TOKEN,
- new String[] { UTF_8_ENCODING, UTF_16_ENCODING }))
- {
- Attr a = XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE);
- errors.add((a != null) ? a.getValue() : "");
- }
-
- if (!validDeclaration(decl, "version", new String[] { "1.0" }))
- {
- errors.add(
- "Version number in XML declaration is not 1.0. XML schema file: "
- + schemaLocation.getValue());
- }
-
- // DEBUG:
- // System.out.println(schemaLocation.getValue() + ":" + context);
-
- Document schema =
- validator.parseXMLDocumentURL(schemaLocation.getValue(), context);
-
- if (XMLUtils.equals(schema.getDocumentElement(), ELEM_XSD_SCHEMA))
- {
- processSchema(schema.getDocumentElement(),
- XMLUtils.createURLString(schemaLocation.getValue(), context));
- }
- result = result = AssertionResult.RESULT_PASSED;
- }
- catch (Throwable t)
- {
- }
- }
-
- /**
- * Reads an XML declaration statement.
- * @param location
- * @return String
- */
- private String readXMLDeclarationStatement(String location, String baseURI)
- {
- String result = null;
- try
- {
- new URL(location);
- }
- catch (Throwable t)
- {
- // nothing
- int i = baseURI.lastIndexOf('/');
- int j = baseURI.lastIndexOf('\\');
- if (j > i)
- i = j;
- location = baseURI.substring(0, i + 1) + location;
- }
-
- if (location != null)
- {
- URL url = null;
- Reader reader = null;
-
- try
- {
- try
- {
- url = new URL(location);
- }
- catch (MalformedURLException e)
- {
- // we should try to access location as file
- }
-
- if (url != null)
- {
- reader = new InputStreamReader(url.openStream());
- }
- else
- {
- reader = new InputStreamReader(new FileInputStream(location));
- }
-
- int charCode;
- boolean end = false;
- if (reader.ready())
- {
- charCode = reader.read();
-
- while (reader.ready() && !(charCode == '<'))
- {
- charCode = reader.read();
- }
-
- StringBuffer buf = new StringBuffer();
- if (charCode == '<')
- {
- buf.append((char) charCode);
- while (reader.ready() && !end)
- {
- charCode = reader.read();
- buf.append((char) charCode);
-
- end = charCode == '>';
- }
- }
- else
- {
- // NOTE: This result does not get propogated back!
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "Cannot read the XML declaration statement.";
- }
-
- result = buf.toString();
- }
- }
- catch (Exception e)
- {
- errors.add(e.getMessage());
- }
- finally
- {
- if (reader != null)
- {
- try
- {
- reader.close();
- }
- catch (Throwable e)
- {
- }
- }
- }
- }
-
- return result;
- }
-
- /*
- * @param xmlDecl - xml declaration
- * @return if xml declaration contains encoding="utf-16" or encoding="utf-8" it retirns true.
- */
-
- //private boolean validEncoding(String xmlDecl)
- //{
- // //boolean result = false;
- // boolean result = true;
- // if (xmlDecl != null)
- // {
- // StringTokenizer st =
- // new StringTokenizer(
- // OMMITED_XML_DECLARATION_DELIMITERS,
- // XML_DECLARATION_DELIMITERS);
- // Enumeration tokens = st.parse(xmlDecl);
- // boolean found = false;
- // while (tokens.hasMoreElements() && !found)
- // {
- // String token = (String) tokens.nextElement();
- //
- // if (token.equals(ENCODING_TOKEN))
- // {
- // found = true;
- //
- // tokens.nextElement();
- // String enc = (String) tokens.nextElement();
- //
- // result =
- // UTF_8_ENCODING.equalsIgnoreCase(enc)
- // || UTF_16_ENCODING.equalsIgnoreCase(enc);
- // }
- // }
- // }
- //
- // return result;
- //}
-
- /**
- * @param xmlDecl - xml declaration
- * @return if xml declaration contains valid version number then true is returned.
- */
- private boolean validDeclaration(
- String xmlDecl,
- String tokenName,
- String[] checkValueList)
- {
- //boolean result = false;
- boolean result = true;
- if (xmlDecl != null)
- {
- StringTokenizer st =
- new StringTokenizer(
- OMMITED_XML_DECLARATION_DELIMITERS,
- XML_DECLARATION_DELIMITERS);
- Enumeration tokens = st.parse(xmlDecl);
-
- if (tokens.hasMoreElements())
- {
- boolean found = false;
- while (tokens.hasMoreElements() && !found)
- {
- String token = (String) tokens.nextElement();
-
- if (token.equals(tokenName))
- {
- found = true;
- result = false;
-
- tokens.nextElement();
- String tokenValue = (String) tokens.nextElement();
-
- for (int i = 0; i < checkValueList.length && !result; i++)
- {
- if (checkValueList[i].equalsIgnoreCase(tokenValue))
- result = true;
- }
- }
- }
- }
-
- // If there are no tokens then it is not a valid declaraction
- else
- {
- result = false;
- }
- }
-
- return result;
- }
-
- /*
- * It's looking for xsd import and load it if find.
- * @param schema - xsd schema
- * @param namespace - namespace of schema
- */
- private void processSchema(Node schema, String context)
- {
- Node n = schema.getFirstChild();
- while (n != null)
- {
- if (Node.ELEMENT_NODE == n.getNodeType()
- && XMLUtils.equals(n, ELEM_XSD_IMPORT))
- {
- importFound = true;
- loadSchema(n, context);
- }
-
- n = n.getNextSibling();
- }
- }
-
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2208.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2208.java
deleted file mode 100644
index c35963300..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2208.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Operation;
-import javax.wsdl.OperationType;
-
-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;
-
-
-/**
- * BP2208.
- * <context>For a candidate wsdl:operation in a wsdl:portType definition</context>
- * <assertionDescription>The wsdl:operation element is either a WSDL request/response or a one-way operation (no Notification or Sollicit-Response).</assertionDescription>
- */
-public class BP2208 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2208(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.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
- {
-
- Operation operation =
- (Operation) entryContext.getEntry().getEntryDetail();
- OperationType opType = operation.getStyle();
- if ((opType == null)
- || (!opType.equals(OperationType.ONE_WAY)
- && !opType.equals(OperationType.REQUEST_RESPONSE)))
- {
- result = AssertionResult.RESULT_FAILED;
- if (opType == null)
- failureDetail =
- this.validator.createFailureDetail(
- "Could not determine the operation type for "
- + operation.getName()
- + ".",
- entryContext);
- else
- failureDetail = null; // none defined in TAD at present
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2402.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2402.java
deleted file mode 100644
index 74f3da49e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2402.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPBinding;
-
-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;
-
-
-/**
- * BP2402.
- * <context>For a candidate wsdl:binding element</context>
- * <assertionDescription>The wsdl:binding element has a soapbind:binding child element.</assertionDescription>
- */
-public class BP2402 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2402(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.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_FAILED;
-
- // Get the port from the entry context
- //Port port = (Port) entryContext.getEntry().getEntryDetail();
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Try to get the SOAP binding
- SOAPBinding soapBinding = WSDLValidatorImpl.getSoapBinding(binding);
-
- // Test the assertion
- // Check that there is at least one SOAP Binding
- if (soapBinding != null)
- {
- result = AssertionResult.RESULT_PASSED;
- failureDetail = null;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2404.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2404.java
deleted file mode 100644
index 688e8d506..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2404.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPBinding;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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;
-
-
-/**
- * BP2404.
- * <context>For a candidate wsdl:binding element</context>
- * <assertionDescription>The contained soap:binding element has a "transport" attribute, which has value: http://schemas.xmlsoap.org/soap/http.</assertionDescription>
- */
-public class BP2404 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2404(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.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 binding from the entry context
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Try to get the SOAP binding
- SOAPBinding soapBinding = WSDLValidatorImpl.getSoapBinding(binding);
-
- // Test the assertion
- // Check for Soap binding namespace
- if ((soapBinding == null)
- || (soapBinding.getTransportURI() == null)
- || !soapBinding.getTransportURI().equals(WSIConstants.NS_URI_SOAP_HTTP))
- {
- result = AssertionResult.RESULT_FAILED;
- this.validator.createFailureDetail(
- soapBinding == null
- ? "WSDL document does not contain SOAP binding element."
- : soapBinding.toString(),
- entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2406.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2406.java
deleted file mode 100644
index 9d5d8ed2a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2406.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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;
-
-
-/**
- * BP2406.
- * <context>For a candidate wsdl:binding element, if the use attribute is specified on the soapbind:body, soapbind:fault, soapbind:header, or soapbind:headerfault elements.</context>
- * <assertionDescription>The use attribute has a value of "literal".</assertionDescription>
- */
-public class BP2406 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2406(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.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
- {
-
- // Get the binding from the entry context
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Get SOAP body elements
- SOAPBody[] soapBodies = this.validator.getSoapBodies(binding);
-
- // ADD: What happens if there are no soap body elements? Right now the TA result is NA.
-
- // Test the assertion
- // Check for correct use value
- for (int i = 0; i < soapBodies.length; i++)
- {
- SOAPBody soapBody = soapBodies[i];
- if (soapBody.getUse() != null
- && !soapBody.getUse().equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(soapBody.toString(), entryContext);
- break;
- }
- }
-
- // Get SOAP fault elements
- SOAPFault[] soapFaults = this.validator.getSoapFaults(binding);
-
- // Test the assertion
- // Check for correct use value
- for (int i = 0; i < soapFaults.length; i++)
- {
- SOAPFault soapFault = soapFaults[i];
- if (soapFault.getUse() != null
- && !soapFault.getUse().equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- (failureDetailMessage == null
- ? soapFault.toString()
- : failureDetailMessage + "\n\n" + soapFault.toString());
- if (failureDetail == null)
- failureDetail =
- this.validator.createFailureDetail(failureDetailMessage, entryContext);
- else
- failureDetail.setFailureMessage(failureDetailMessage);
- break;
- }
- }
-
- // Get SOAP header elements
- SOAPHeader[] soapHeaders = this.validator.getSoapHeaders(binding);
-
- // Test the assertion
- // Check for correct use value
- for (int i = 0; i < soapHeaders.length; i++)
- {
- SOAPHeader soapHeader = soapHeaders[i];
- if (soapHeader.getUse() != null
- && !soapHeader.getUse().equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- (failureDetailMessage == null
- ? soapHeader.toString()
- : failureDetailMessage + "\n\n" + soapHeader.toString());
- if (failureDetail == null)
- failureDetail =
- this.validator.createFailureDetail(failureDetailMessage, entryContext);
- else
- failureDetail.setFailureMessage(failureDetailMessage);
- break;
- }
- }
-
- // Get SOAP header fault elements
- SOAPHeaderFault[] soapHeaderFaults = this.validator.getSoapHeaderFaults(binding);
-
- // Test the assertion
- // Check for correct use value
- for (int i = 0; i < soapHeaderFaults.length; i++)
- {
- SOAPHeaderFault soapHeaderFault = soapHeaderFaults[i];
- if (soapHeaderFault.getUse() != null
- && !soapHeaderFault.getUse().equals(
- WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- (failureDetailMessage == null
- ? soapHeaderFault.toString()
- : failureDetailMessage + "\n\n" + soapHeaderFault.toString());
- if (failureDetail == null)
- failureDetail =
- this.validator.createFailureDetail(failureDetailMessage, entryContext);
- else
- failureDetail.setFailureMessage(failureDetailMessage);
- break;
- }
- }
-
- // If the result is passed, but there was nothing to check then set to notApplicable
- if (result == AssertionResult.RESULT_PASSED
- && (soapBodies == null || soapBodies.length == 0)
- && (soapFaults == null || soapFaults.length == 0)
- && (soapHeaders == null || soapHeaders.length == 0)
- && (soapHeaderFaults == null || soapHeaderFaults.length == 0))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2416.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2416.java
deleted file mode 100644
index 1a1eba328..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2416.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Input;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.xml.namespace.QName;
-
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
-* BP2416.
-* <context>For a candidate wsdl:definitions</context>
-* <assertionDescription>Every QName in the WSDL document and its imports, is referencing an element in a namespace that has either been imported or defined in the WSDL document that contains the reference.</assertionDescription>
-*/
-public class BP2416 extends AssertionProcessVisitor
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2416(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private static final String NS_LIST_KEY = "namespaces";
-
- /**
- * Checks whether the namespace is defined or imported in the definition.
- * @param qname
- * @param ctx
- */
- private void checkNamespace(QName qname, WSDLTraversalContext ctx)
- {
- if (qname != null)
- {
- String namespace = qname.getNamespaceURI();
-
- if (namespace != null)
- {
- List namespaces = (List) ctx.getParameter(NS_LIST_KEY);
-
- if (!namespaces.contains(namespace))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage = namespace;
-
- ctx.cancelProcessing();
- }
- } // ??? should we do something otherwise
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Port, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Port port, Object parent, WSDLTraversalContext ctx)
- {
- if (port != null)
- {
- Binding binding = port.getBinding();
- if (binding != null)
- {
- checkNamespace(binding.getQName(), ctx);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Binding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Binding binding, Object parent, WSDLTraversalContext ctx)
- {
- if (binding != null)
- {
- PortType pType = binding.getPortType();
- if (pType != null)
- {
- checkNamespace(pType.getQName(), ctx);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Operation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- Operation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- if (operation != null)
- {
- Input input = operation.getInput();
- if (input != null && input.getMessage() != null)
- {
- checkNamespace(input.getMessage().getQName(), ctx);
- }
-
- Output output = operation.getOutput();
- if (output != null && output.getMessage() != null)
- {
- checkNamespace(output.getMessage().getQName(), ctx);
- }
-
- Map faults = operation.getFaults();
- for (Iterator iter = faults.values().iterator(); iter.hasNext();)
- {
- Fault fault = (Fault) iter.next();
-
- if (fault.getMessage() != null)
- {
- checkNamespace(fault.getMessage().getQName(), ctx);
- }
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Message, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- /* REMOVE: This is already done in WSI2417
- public void visit(Message message, Object parent, WSDLTraversalContext ctx) {
- if (message != null) {
- Map parts = message.getParts();
- for (Iterator iter = parts.values().iterator(); iter.hasNext();) {
- Part part = (Part) iter.next();
-
- checkNamespace(part.getElementName(), ctx);
- checkNamespace(part.getTypeName(), ctx);
- }
- }
- }
- */
-
- /* (non-Javadoc)
- * @see org.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 definition from the entry context
- Definition definition =
- (Definition) entryContext.getEntry().getEntryDetail();
-
- // get list of namespaces imported and defined in the definition
- List namespaces = this.validator.getWSDLTargetNamespaceList(definition);
-
- // REMOVE:
- //Map namespaces = definition.getNamespaces();
-
- // traverse definition to check namespaces
- Map params = new HashMap();
- params.put(NS_LIST_KEY, namespaces);
-
- WSDLTraversal traversal = new WSDLTraversal();
- // VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitOperation(true);
- traversal.visitBinding(true);
- traversal.visitMessage(true);
- traversal.visitPort(true);
-
- traversal.ignoreImport();
- traversal.ignoreReferences();
- traversal.traverse(definition, params);
-
- if (result.equals(AssertionResult.RESULT_FAILED))
- {
- this.validator.createFailureDetail(failureDetailMessage, entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2417.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2417.java
deleted file mode 100644
index 1743d4995..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2417.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2417.
- * <context>For a candidate wsdl:definitions</context>
- * <assertionDescription>Every QName in the WSDL document and its imports and that
- * is referring to a schema component, uses the namespace defined in the targetNamespace
- * attribute on the xs:schema element, or a namespace defined in the namespace attribute
- * on an xs:import element within the xs:schema element.</assertionDescription>
- */
-public class BP2417 extends AssertionProcessVisitor
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2417(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errorList = new ErrorList();
- private static final String NS_LIST_KEY = "namespaces";
-
- /**
- * Checks whether the namespace is defined or imported in the definition.
- * @param qname
- * @param ctx
- */
- private void checkNamespace(QName qname, WSDLTraversalContext ctx)
- {
- if (qname != null)
- {
- String namespace = qname.getNamespaceURI();
-
- if (namespace != null)
- {
- List namespaceList = (List) ctx.getParameter(NS_LIST_KEY);
-
- if ((namespaceList != null) && !namespaceList.contains(namespace))
- {
- errorList.add(qname);
- }
- }
- }
- }
-
- /**
- * @see org.eclipse.wst.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Message, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Message message, Object parent, WSDLTraversalContext ctx)
- {
- if (message != null)
- {
- Map parts = message.getParts();
-
- for (Iterator iter = parts.values().iterator(); iter.hasNext();)
- {
- Part part = (Part) iter.next();
-
- checkNamespace(part.getElementName(), ctx);
- checkNamespace(part.getTypeName(), ctx);
- }
- }
- }
-
- /**
- * @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 definition from the entry context
- Definition definition =
- (Definition) entryContext.getEntry().getEntryDetail();
-
- // Get a list of all schema targetNamespaces
- List tnsList = null;
- try
- {
- if ((tnsList = this.validator.getSchemaNamespaceList(definition)) == null)
- tnsList = new Vector();
- }
-
- catch (WSIException e)
- {
- // This exception would indicate that the schema definition had a problem
- tnsList = new Vector();
- }
-
- // Always add XML schema namespace to cover built-in types
- tnsList.add(WSIConstants.NS_URI_XSD);
-
- // Traverse definition to check schema namespaces
- Map params = new HashMap();
- params.put(NS_LIST_KEY, tnsList);
-
- WSDLTraversal traversal = new WSDLTraversal();
- traversal.setVisitor(this);
- traversal.visitMessage(true);
-
- traversal.ignoreImport();
- traversal.ignoreReferences();
- traversal.traverse(definition, params);
-
- // If there were no errors, then the assertion passed
- if (errorList.isEmpty())
- {
- result = AssertionResult.RESULT_PASSED;
- }
-
- // Otherwise it failed / create the failure detail using the QNames that were in error
- else
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errorList.toString(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2700.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2700.java
deleted file mode 100644
index bbf231226..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2700.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-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.eclipse.wst.wsi.internal.core.util.Utils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.xml.sax.SAXException;
-
-/**
- * BP2700.
- * <context>For a candidate wsdl:definitions element within a WSDL document.</context>
- * <assertionDescription>The wsdl:definitions is a well-formed XML 1.0 document.</assertionDescription>
- */
-public class BP2700 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2700(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.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;
-
- try
- {
- //String wsdlURI = entryContext.getWSDLDocument().getDefinitions().getDocumentBaseURI();
- // TEMP: Need to define a better way to get the WSDL URI
- String wsdlURI = entryContext.getEntry().getReferenceID();
- // non-validating parse
- XMLUtils.parseXMLDocument(wsdlURI);
- }
-
- catch (WSIException e)
- {
- if (e.getTargetException() instanceof SAXException)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- Utils.getExceptionDetails(e.getTargetException()),
- entryContext);
- }
- }
-
- catch (Exception e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(Utils.getExceptionDetails(e), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2701.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2701.java
deleted file mode 100644
index 124c1f99a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2701.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Definition;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-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;
-
-
-/**
- * BP2701.
- * <context>For a candidate wsdl:definitions element within a WSDL document.</context>
- * <assertionDescription>The wsdl:definitions namespace has value: http://schemas.xmlsoap.org/wsdl/.</assertionDescription>
- */
-public class BP2701 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2701(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.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
- {
-
- Definition def = (Definition) entryContext.getEntry().getEntryDetail();
-
- /*
- if (def != null) {
- QName qname = def.getQName();
-
- if (qname != null) {
- //if (def.getNamespace("").equals(WSIConstants.NS_URI_WSDL) {
- if (qname.getNamespaceURI().equals(WSIConstants.NS_URI_WSDL)) {
- result = AssertionResult.RESULT_PASSED;
- }
- }
- }
- */
-
- try
- {
- String schemaUsed = this.validator.getSchemaUsed(def);
- if (schemaUsed.equals(WSIConstants.NS_URI_WSDL))
- {
- result = AssertionResult.RESULT_PASSED;
- }
-
- else
- {
- result = AssertionResult.RESULT_FAILED;
- }
- }
-
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- //ADD: failure description?
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2703.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2703.java
deleted file mode 100644
index e23a69c95..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2703.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.wsdl.Definition;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-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.eclipse.wst.wsi.internal.core.util.TestUtils;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.xml.sax.SAXException;
-
-
-/**
- * BP2703.
- * <context>For a candidate description within a WSDL document, if it uses the WSDL namespace</context>
- * <assertionDescription>The definition conforms to the WSDL schema located at http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd</assertionDescription>
- */
-public class BP2703 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2703(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.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;
-
- try
- {
- Definition def = (Definition) entryContext.getEntry().getEntryDetail();
-
- if (def == null)
- {
- throw new AssertionFailException("Definition null");
- }
-
- String wsdlURI = entryContext.getEntry().getReferenceID();
-
- Map namespaces = def.getNamespaces();
- for (Iterator iter = namespaces.values().iterator(); iter.hasNext();)
- {
- String ns = (String) iter.next();
-
- if (WSIConstants.NS_URI_WSDL.equalsIgnoreCase(ns))
- {
- XMLUtils.parseXMLDocument(wsdlURI, TestUtils.getWSDLSchemaLocation());
- }
-
- if (WSIConstants.NS_URI_WSDL_SOAP.equalsIgnoreCase(ns))
- {
- XMLUtils.parseXMLDocument(wsdlURI, TestUtils.getWSDLSOAPSchemaLocation());
- }
- }
- }
-
- catch (WSIException e)
- {
- if (e.getTargetException() instanceof SAXException)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- Utils.getExceptionDetails(e.getTargetException()),
- entryContext);
- }
- }
-
- catch (Exception e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(Utils.getExceptionDetails(e), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2803.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2803.java
deleted file mode 100644
index a2602a2a8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2803.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.net.URI;
-
-import javax.wsdl.Import;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-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;
-
-
-/**
- * BP2803
- * <context>For a candidate wsdl:import element</context>
- * <assertionDescription>The "namespace" attribute is specified for the wsdl:import element, and the attribute's value is not a relative URI.</assertionDescription>
- */
-public class BP2803 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2803(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.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
- {
-
- // Getting wsdl:import
- Import im = (Import) entryContext.getEntry().getEntryDetail();
-
- try
- {
- // If there is no the "namespace" attribute in the import,
- // the assertion is not applicable
- if (im.getNamespaceURI() == null)
- {
- throw new AssertionNotApplicableException();
- }
-
- // If a namespace URI is relative or invalid, the assertion failed
- URI uri = new URI(im.getNamespaceURI());
- if (!uri.isAbsolute())
- {
- throw new AssertionFailException(
- im.getNamespaceURI() + " is relative URI.");
- }
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- e.getMessage(), entryContext);
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4200.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4200.java
deleted file mode 100644
index f2c73355b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4200.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-
-/**
- * BP4200.
- * <context>For a candidate wsdl:definitions that contains a wsdl extension element or attribute from a namespace other than "http://schemas.xmlsoap.org/wsdl/soap/".</context>
- * <assertionDescription>Contained WSDL extension elements that do not belong to the "http://schemas.xmlsoap.org/wsdl/soap/" namespaces may require out of band negotiation.</assertionDescription>
-*/
-public class BP4200 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
- private ErrorList errorList = new ErrorList();
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP4200(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.ExtensibilityElement, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(ExtensibilityElement obj, Object parent,
- WSDLTraversalContext ctx)
- {
- // If a child element of wsdl:types is from a namespace other than
- // "http://www.w3.org/2001/XMLSchema"
- if (parent instanceof Types)
- {
- //if (!obj.getElementType().getNamespaceURI().equals(
- // WSIConstants.NS_URI_XSD))
- //{
- // Add element name to error list
- // errorList.add(obj.getElementType());
- //}
- }
- // or any other ext element coming from a namespace other than
- // "http://schemas.xmlsoap.org/wsdl/soap/"
- else if (!obj.getElementType().getNamespaceURI().equals(WSIConstants.NS_URI_WSDL_SOAP)
- && !obj.getElementType().getNamespaceURI().equals(WSIConstants.NS_URI_WSDL))
- {
- // Add element name to error list
- errorList.add(obj.getElementType());
- }
- }
-
- /**
- * (non-Javadoc)
- * @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
- {
- // Get the definition from the entry context
- Definition definition =
- (Definition) entryContext.getEntry().getEntryDetail();
-
- WSDLTraversal traversal = new WSDLTraversal();
- traversal.setVisitor(this);
-
- traversal.visitExtensibilityElement(true);
- traversal.visitElement(true);
-
- traversal.ignoreImport();
- traversal.ignoreReferences();
- traversal.traverse(definition);
-
- try
- {
- // getting WSDL document.
- Document doc = XMLUtils.parseXMLDocument(definition.getDocumentBaseURI());
- if (doc != null)
- {
- checkElement(doc.getDocumentElement());
-
- if (errorList.isEmpty())
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription() + "\n\n" + errorList.toString(),
- entryContext);
- }
- }
- }
- catch (Throwable t)
- {
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Checking on wsdl elements recursively whether they contain extension attributes.
- * @param elem Element.
- */
- private void checkElement(Element elem)
- {
- while (elem != null)
- {
- String elemNS = elem.getNamespaceURI();
- NamedNodeMap attrs = elem.getAttributes();
- if (attrs != null)
- {
- for (int i = 0; i < attrs.getLength(); i++)
- {
- Attr attr = (Attr) attrs.item(i);
- String attrNS = attr.getNamespaceURI();
- if (attrNS != null
- && !attrNS.equals(WSIConstants.NS_URI_XMLNS)
- && !attrNS.equals(WSIConstants.NS_URI_WSDL)
- && !attrNS.equals(WSIConstants.NS_URI_WSDL_SOAP))
- {
- errorList.add("Extensibility attribute " + attr.getName()
- + "for the " + elem.getNodeName() + " element is found.");
- }
- }
- }
-
- if (!elemNS.equals(WSIConstants.NS_URI_XSD))
- {
- checkElement(XMLUtils.getFirstChild(elem));
- }
- elem = XMLUtils.getNextSibling(elem);
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4201.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4201.java
deleted file mode 100644
index 21f131f16..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4201.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.net.URISyntaxException;
-import java.util.Iterator;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Import;
-import javax.wsdl.Port;
-import javax.wsdl.extensions.soap.SOAPAddress;
-
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
-* BP4201.
-* <context>For a candidate wsdl:import element, where the location attribute or the namespace attribute has a value that is a relative URI, or a for soap:address element where the location attribute is a relative URI.</context>
-* <assertionDescription>The use of a relative URI as the value for a wsdl:import location or namespace attribute, or for a soap:address location attribute may require out of band coordination.</assertionDescription>
-*/
-public class BP4201 extends AssertionProcessVisitor
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP4201(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
- private ErrorList errorList = new ErrorList();
-
- /**
- * (non-Javadoc)
- * @see org.eclipse.wst.wsi.wsdl.traversal.WSDLVisitor#visit(Import, Object, WSDLTraversalContext)
- */
- public void visit(Import obj, Object parent, WSDLTraversalContext ctx)
- {
- if(obj != null)
- {
- if(isRelativeURI(obj.getNamespaceURI()) ||
- isRelativeURI(obj.getLocationURI()))
- {
- errorList.add(obj.getNamespaceURI(), obj.getLocationURI());
- }
- }
- }
-
- /**
- * (non-Javadoc)
- * @see org.eclipse.wst.wsi.wsdl.traversal.WSDLVisitor#visit(Port, Object, WSDLTraversalContext)
- */
- public void visit(Port obj, Object parent, WSDLTraversalContext ctx)
- {
- if(obj != null)
- {
- Iterator it = obj.getExtensibilityElements().iterator();
- while (it.hasNext())
- {
- Object e = (Object) it.next();
- // for each SOAPAddress elements check LocationURI
- if(e instanceof SOAPAddress) {
- if(isRelativeURI(((SOAPAddress) e).getLocationURI()))
- {
- errorList.add(((SOAPAddress) e).getElementType() +
- ":" + ((SOAPAddress) e).getLocationURI());
- }
- }
- }
- }
- }
-
- /**
- * (non-Javadoc)
- * @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 definition from the entry context
- Definition definition =
- (Definition) entryContext.getEntry().getEntryDetail();
-
- WSDLTraversal traversal = new WSDLTraversal();
- traversal.setVisitor(this);
- traversal.visitImport(true);
- traversal.visitPort(true);
- traversal.ignoreReferences();
- traversal.traverse(definition);
-
- if (errorList.isEmpty())
- {
- return validator.createAssertionResult(testAssertion,
- AssertionResult.RESULT_NOT_APPLICABLE, (String) null);
- }
-
- failureDetail = this.validator.createFailureDetail(testAssertion.getFailureMessage() +
- "\n\n" + errorList.toString(), entryContext);
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
- /**
- * Returns true if URI is relative
- * @param s - URI
- * @return true - if URI is relative, false - in other case
- */
- private boolean isRelativeURI(String s)
- {
- if(s == null)
- return false;
- try
- {
- if(new java.net.URI(s).isAbsolute())
- {
- return false;
- }
- } catch (URISyntaxException e)
- {
- return false;
- }
- return true;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4202.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4202.java
deleted file mode 100644
index 63791e0f1..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4202.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.schema.XMLSchemaProcessor;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * BP4202.
- * <context>For an XML schema definition defined in the wsdl:types element, or imported directly or indirectly by a schema definition defined in the wsdl:types element, which contains any schema annotation elements.</context>
- * <assertionDescription>An XML schema definition defined in the wsdl:types element, or imported directly or indirectly by a schema definition defined in the wsdl:types element, may use schema annotation elements as an extensibility mechanism.</assertionDescription>
- */
- public class BP4202 extends AssertionProcessVisitor implements WSITag
- {
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP4202(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private static final String ANNOTATION_KEY = "annotation";
-
- private ErrorList errorList = new ErrorList();
- private AnnotationProcessor processor;
-
- /**
- * (non-Javadoc)
- * @see org.eclipse.wst.wsi.wsdl.traversal.WSDLVisitor#visit(Message, Object, WSDLTraversalContext)
- */
- public void visit(ExtensibilityElement obj, Object parent, WSDLTraversalContext ctx)
- {
- if((obj != null) && (obj instanceof UnknownExtensibilityElement))
- {
- UnknownExtensibilityElement el = (UnknownExtensibilityElement) obj;
- try {
- processor.processAllSchema(el.getElement());
- } catch (WSIException e) {}
- }
- }
-
- /**
- * (non-Javadoc)
- * @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 types from the entry context
- Types types =
- (Types) entryContext.getEntry().getEntryDetail();
-
- processor = new AnnotationProcessor(
- entryContext.getWSDLDocument().getDefinitions().getDocumentBaseURI());
-
- WSDLTraversal traversal = new WSDLTraversal();
- traversal.setVisitor(this);
- traversal.visitExtensibilityElement(true);
- traversal.ignoreReferences();
- traversal.traverse(types);
-
- if (errorList.isEmpty())
- {
- return validator.createAssertionResult(testAssertion,
- AssertionResult.RESULT_NOT_APPLICABLE, (String) null);
- }
-
- failureDetail = this.validator.createFailureDetail(testAssertion.getFailureMessage() +
- "\n\n" + errorList.toString(), entryContext);
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /**
- * Class for parse schema and search annotation elements
- */
- class AnnotationProcessor extends XMLSchemaProcessor
- {
- public AnnotationProcessor(String context)
- {
- super(context, false);
- }
-
- protected void processSchema(Element element)
- {
- checkForAnnotation(element);
- }
-
- private void checkForAnnotation(Node node)
- {
- if((node.getLocalName() != null) && (node.getLocalName().equals(ANNOTATION_KEY))) {
- errorList.add(node.toString());
- }
- for (int i = 0; i < node.getChildNodes().getLength(); i++)
- {
- checkForAnnotation(node.getChildNodes().item(i));
- }
- }
- }
- } \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2209.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2209.java
deleted file mode 100644
index 4c4dd0f25..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2209.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-
-/**
- * SSBP2209
- *
- * <context>For a candidate wsdl:binding element</context>
- * <assertionDescription>The wsdl:binding binds every wsdl:part of a wsdl:message in the wsdl:portType to which it refers to one of soapbind:body, soapbind:header, soapbind:fault or soapbind:headerfault.</assertionDescription>
- */
-public class SSBP2209 extends BP2114
-{
- /**
- * @param WSDLValidatorImpl
- */
- public SSBP2209(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2402.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2402.java
deleted file mode 100644
index 9291f3660..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2402.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * SSBP2402
- */
-public class SSBP2402 extends BP2402
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public SSBP2402(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2403.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2403.java
deleted file mode 100644
index 041320f33..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2403.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLTraversal;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * SSBP2403.
- * <context>For a candidate wsdl:binding element</context>
- * <assertionDescription>Descendant elements and attributes in the wsdl:binding are not from the namespaces for the WSDL MIME, HTTP GET/POST or DIME binding extensions.</assertionDescription>
- */
-public class SSBP2403 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public SSBP2403(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
-
- private ErrorList errors = new ErrorList();
-
- /**
- * Returns true if the the namespace specifies any WSDL MIME,
- * HTTP GET/POST or DIME binding extensions.
- * @param namespace a namespace.
- * @return true if the the namespace specifies any WSDL MIME,
- * HTTP GET/POST or DIME binding extensions.
- */
- private boolean isNonConformantBindingExtension(String namespace)
- {
- boolean result = false;
- if (namespace != null)
- {
- if (namespace.equals(WSIConstants.NS_NAME_WSDL_MIME)
- || namespace.equals(WSIConstants.NS_NAME_WSDL_HTTP)
- || namespace.equals(WSIConstants.NS_NAME_WSDL_DIME))
- result = true;
- }
- return result;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.ExtensibilityElement, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- ExtensibilityElement exel,
- Object parent,
- WSDLTraversalContext ctx)
- {
- if (isNonConformantBindingExtension(exel
- .getElementType()
- .getNamespaceURI()))
- errors.add(exel.getElementType());
- else
- {
- // extensibility element is ok, check the descendants
- if (exel instanceof UnknownExtensibilityElement)
- {
- Element el = ((UnknownExtensibilityElement) exel).getElement();
-
- // traverse all of the descendants and check for non compliant binding extensions
- XMLTraversalCheckingExtensions traversal =
- new XMLTraversalCheckingExtensions();
- traversal.visit(el);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.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_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- traversal.setVisitor(this);
- traversal.visitElement(true);
- traversal.visitExtensibilityElement(true);
-
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse((Binding) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
-
- /**
- * A specialized XMLTraversal class to check if the wsdl:binding element has any
- * descendant elements/attributes from the namespaces for the WSDL MIME,
- * HTTP GET/POST or DIME binding extensions.
- */
- private class XMLTraversalCheckingExtensions extends XMLTraversal
- {
- boolean nonConformantExtensionFound = false;
-
- /* (non-Javadoc)
- * @see org.wsi.xml.XMLTraversal#action(org.w3c.dom.Node)
- */
- public boolean action(Node n)
- {
- return !nonConformantExtensionFound;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.xml.XMLVisitor#visit(org.w3c.dom.Attr)
- */
- public void visit(Attr node)
- {
- if (action(node))
- {
- if (isNonConformantBindingExtension(node.getNamespaceURI()))
- {
- errors.add(node.getName());
- nonConformantExtensionFound = true;
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.xml.XMLVisitor#visit(org.w3c.dom.Element)
- */
- public void visit(Element node)
- {
- if (action(node))
- {
- if (isNonConformantBindingExtension(node.getNamespaceURI()))
- {
- errors.add(node.getNodeName());
- nonConformantExtensionFound = true;
- }
- else
- {
- // element is compliant, check attributes and descendants
- visit(node.getAttributes());
- for (Node n = node.getFirstChild();
- n != null;
- n = n.getNextSibling())
- {
- doVisit(n);
- }
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSDLValidatorImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSDLValidatorImpl.java
deleted file mode 100644
index 0ecafd75f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSDLValidatorImpl.java
+++ /dev/null
@@ -1,2314 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSIRuntimeException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.CandidateInfo;
-import org.eclipse.wst.wsi.internal.core.analyzer.ServiceReference;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-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.WSDLValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseValidatorImpl;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.report.EntryContainer;
-import org.eclipse.wst.wsi.internal.core.report.FailureDetail;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLElementList;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLUtils;
-import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
-import org.eclipse.wst.wsi.internal.core.xml.schema.TargetNamespaceProcessor;
-import org.eclipse.wst.wsi.internal.core.xml.schema.XMLSchemaValidator;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * The WSDL validator will verify that the WSDL and associated XML schema definitions
- * are in conformance with the profile.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @author Graham Turrell (gturrell@uk.ibm.com)
- */
-public class WSDLValidatorImpl
- extends BaseValidatorImpl
- implements WSDLValidator
-{
- /**
- * WSDL URL.
- */
- protected String wsdlURL;
-
- /**
- * WSDL document.
- */
- protected WSDLDocument wsdlDocument = null;
-
- /**
- * Entry container map.
- */
- protected HashMap containerMap = new HashMap();
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.WSDLValidator#init(org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext, org.wsi.test.profile.ProfileArtifact, org.wsi.test.report.ReportArtifact, java.lang.String, org.wsi.wsdl.WSDLDocument, org.wsi.test.report.Reporter)
- */
- public void init(
- AnalyzerContext analyzerContext,
- ProfileArtifact profileArtifact,
- ReportArtifact reportArtifact,
- String wsdlURL,
- WSDLDocument wsdlDocument,
- Reporter reporter)
- throws WSIException
- {
- // BaseValidatorImpl
- super.init(analyzerContext, profileArtifact, reportArtifact, reporter);
- this.wsdlDocument = wsdlDocument;
- if (wsdlDocument != null)
- this.wsdlURL = wsdlDocument.getLocation();
-
- if (wsdlURL != null)
- this.wsdlURL = wsdlURL;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.WSDLValidator#validate()
- */
- public WSDLDocument validate() throws WSIException
- {
- //WSDLDocument wsdlDocument = null;
- Service service = null;
- Port port = null;
- Binding binding = null;
- PortType portType = null;
- Operation operation = null;
- Message message = null;
-
- // it depricated after refactoring
- // now the inner classes moved out from validator
- //String classPrefix = this.getClass().getName() + "$";
- String classPrefix = this.getClass().getPackage().getName()+".";
-
- try
- {
- // Validate the WSDL service description
- if (this.wsdlDocument == null)
- this.wsdlDocument = new WSDLDocument(wsdlURL);
- }
-
- catch (Exception e)
- {
- // ADD: Certain exceptions should result in validation errors
-
- throw new WSIException(e.getMessage(), e);
- }
-
- // Get the definition element
- Definition definition = wsdlDocument.getDefinitions();
-
- // Get service reference from analyzer context
- ServiceReference serviceReference = analyzerContext.getServiceReference();
-
- // Create normalized data about the service under test.
- CandidateInfo candidate = new CandidateInfo(serviceReference, wsdlDocument);
-
- analyzerContext.setCandidateInfo(candidate);
-
- // Set prereq type to entry container
- reporter.setPrereqType(Reporter.PREREQ_TYPE_ENTRY_CONTAINER);
-
- // always process Import, Definitions & Types assertions
- // TEMP:
- processDefinitionAssertions(classPrefix, candidate);
- processTypesAssertions(classPrefix, candidate);
- processImportAssertions(classPrefix, candidate);
-
- // Process the element hierarchy in the WSDL document starting with the one that was specified
- // FIX: Element finding already completed by CandidateInfo constructor - so use that rather than retest here
-
- // ---------------------------
- // wsdl:port
- // ---------------------------
- if (serviceReference.getWSDLElement().isPort())
- {
- // Find the service element
- if ((service =
- definition.getService(
- serviceReference.getWSDLElement().getParentElementQName()))
- == null)
- {
- throw new WSIRuntimeException(
- "Could not locate WSDL service: "
- + serviceReference.getWSDLElement().getParentElementName());
- }
-
- // Find the port element
- if ((port = service.getPort(serviceReference.getWSDLElement().getName()))
- == null)
- {
- throw new WSIRuntimeException(
- "Could not locate WSDL port: "
- + serviceReference.getWSDLElement().getName());
- }
-
- // TEMP: Remove until there are port test assertions
- //processPortAssertions(port, serviceReference, classPrefix, wsdlDocument);
-
- // Next, process the binding
- if (((binding = port.getBinding()) == null) || (binding.isUndefined()))
- {
- //throw new WSIRuntimeException("Could not locate WSDL binding for port: " + port.getName());
- // Set missingInput for all binding, portType, operation and message test assertions
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
- }
-
- else
- {
- processBindingAssertions(
- binding,
- serviceReference,
- classPrefix,
- wsdlDocument);
-
- // Next, process the portType
- if (((portType = binding.getPortType()) == null)
- || (portType.isUndefined()))
- {
- //throw new WSIRuntimeException("Could not locate WSDL portType for binding: " + binding.getQName().getLocalPart());
- // Set missingInput for all portType, operation and message test assertions
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
- }
-
- else
- {
- processMessageAssertions(
- binding,
- serviceReference,
- classPrefix,
- wsdlDocument);
- processPortTypeAssertions(
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
- processOperationAssertions(
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
- processMessageAssertions(
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
- }
- }
-
- }
-
- // ---------------------------
- // wsdl:binding
- // ---------------------------
- else if (serviceReference.getWSDLElement().isBinding())
- {
- WSDLElement wsdlElement = serviceReference.getWSDLElement();
- // Find the binding element
- if (wsdlElement.getQName() != null
- && wsdlElement.getQName().getLocalPart() != null
- && wsdlElement.getQName().getLocalPart().length() > 0)
- {
- if (((binding =
- definition.getBinding(serviceReference.getWSDLElement().getQName()))
- == null)
- || (binding.isUndefined()))
- {
- throw new WSIRuntimeException(
- "Could not locate WSDL binding: "
- + serviceReference.getWSDLElement().getName());
- }
-
- processBindingAssertions(
- binding,
- serviceReference,
- classPrefix,
- wsdlDocument);
- processMessageAssertions(
- binding,
- serviceReference,
- classPrefix,
- wsdlDocument);
-
- // Next, process the portType
- if (((portType = binding.getPortType()) == null)
- || (portType.isUndefined()))
- {
- //throw new WSIRuntimeException("Could not locate WSDL PortType for Binding: " + binding.getQName().getLocalPart());
-
- // Set missingInput for all portType, operation and message test assertions
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
- }
-
- else
- {
- processPortTypeAssertions(
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
- processOperationAssertions(
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
-
- // Process each message within each operation of the portType associated with the binding
- processMessageAssertions(
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
- }
- }
-
- // There was a problem with the binding element specification. This can
- // happen when a UDDI tModel did not have a valid binding reference.
- else
- {
- // Set missingInput for all binding, portType, operation and message test assertions
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
- }
- }
-
- // ---------------------------
- // wsdl:portType
- // ---------------------------
- else if (serviceReference.getWSDLElement().isPortType())
- {
- // Find the PortType element
- if (((portType =
- definition.getPortType(serviceReference.getWSDLElement().getQName()))
- == null)
- || (portType.isUndefined()))
- {
- throw new WSIRuntimeException(
- "Could not locate WSDL PortType: "
- + serviceReference.getWSDLElement().getName());
- }
-
- // Set missingInput for all binding test assertions
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
-
- processPortTypeAssertions(
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
- processOperationAssertions(
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
-
- // Process each message within each operation of the portType
- processMessageAssertions(
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
- }
-
- // ---------------------------
- // wsdl:operation
- // ---------------------------
- else if (serviceReference.getWSDLElement().isOperation())
- {
- // Find the operation
- // get portType from config parent element
- if (((portType =
- definition.getPortType(
- serviceReference.getWSDLElement().getParentElementQName()))
- == null)
- || (portType.isUndefined()))
- {
- throw new WSIRuntimeException(
- "Could not locate WSDL portType: "
- + serviceReference.getWSDLElement().getParentElementQName());
- }
-
- if (((operation =
- getOperationFromPortType(
- portType,
- serviceReference.getWSDLElement().getName()))
- == null)
- || (operation.isUndefined()))
- {
- throw new WSIRuntimeException(
- "Could not locate WSDL Operation: "
- + serviceReference.getWSDLElement().getName()
- + "in portType: "
- + portType.getQName());
- }
-
- // Set missingInput for all binding and portType test assertions
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
-
- processOperationAssertions(
- operation,
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
- processMessageAssertions(
- operation,
- serviceReference,
- classPrefix,
- wsdlDocument);
- }
-
- // ---------------------------
- // wsdl:message
- // ---------------------------
- else if (serviceReference.getWSDLElement().isMessage())
- {
- // Find the message
- if (((message =
- definition.getMessage(serviceReference.getWSDLElement().getQName()))
- == null)
- || (message.isUndefined()))
- {
- throw new WSIRuntimeException(
- "Could not locate WSDL Message: "
- + serviceReference.getWSDLElement().getName());
- }
-
- // Set missingInput for all binding, portType, and operation test assertions
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
-
- processMessageAssertions(
- message,
- serviceReference,
- classPrefix,
- wsdlDocument);
- }
-
- else
- {
- throw new WSIRuntimeException(
- "The following WSDL type is not supported: "
- + serviceReference.getWSDLElement().getType());
- }
-
- // Cleanup
- cleanup();
-
- // Return WSDL document
- return this.wsdlDocument;
- }
-
- /**
- * Get entry container using the filename for WSDL document.
- * @param filename a file name.
- * @return entry container using the filename for WSDL document.
- */
- protected EntryContainer getEntryContainer(String filename)
- {
- EntryContainer entryContainer = null;
-
- // If the entry container already exists, then use it
- if ((entryContainer = (EntryContainer) containerMap.get(filename)) == null)
- {
- // Create new entry container
- entryContainer = this.reporter.createEntryContainer();
-
- // Set container id using the filename for the WSDL document
- entryContainer.setId(filename);
-
- // Put the new entry container into the container map
- containerMap.put(filename, entryContainer);
- }
-
- return entryContainer;
- }
-
- /**
- * Get operation from port type.
- * @param portType port type.
- * @param operationName operation name.
- * @return operation from port type.
- */
- protected Operation getOperationFromPortType(
- PortType portType,
- String operationName)
- {
- // FIX: wsdl4j available method call below implies that only
- // name+inputname+outputname uniquely defines operation
- // Use this instead for now: - get the first operation we find...
- Operation op = null;
- if (portType.getOperations() != null)
- {
- Iterator opIt = portType.getOperations().iterator();
-
- while (opIt.hasNext())
- {
- op = (Operation) opIt.next();
- if (operationName.equals(op.getName()))
- {
- return op;
- }
- }
- }
-
- return null; // no matching operation found
- }
-
- /**
- * Process definition assertions.
- * @param classPrefix class prefix.
- * @param candidate candidate.
- * @throws WSIException if problems occur during processing.
- */
- protected void processDefinitionAssertions(
- String classPrefix,
- CandidateInfo candidate)
- throws WSIException
- {
-
- Entry entry = null;
-
- Definition[] wsdlDefinitions = candidate.getDefinitions();
-
- for (int i = 0; i < wsdlDefinitions.length; i++)
- {
- Definition definition = wsdlDefinitions[i];
- if (definition == null)
- continue;
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_DEFINITIONS));
- entry.setReferenceID(definition.getDocumentBaseURI());
- entry.setEntryDetail(definition);
-
- // Set entry container
- entry.setEntryContainer(
- getEntryContainer(definition.getDocumentBaseURI()));
-
- // Process all of the definition related test assertions
- processAssertions(
- classPrefix,
- new EntryContext(entry, candidate.getWsdlDocument()));
- // ADD: need to use here the specific document corresponding to the definition??
-
- }
- }
-
- /**
- * Process types assertions.
- * @param classPrefix class prefix.
- * @param candidate candidate.
- * @throws WSIException if problem occurs during processing
- * type assertions.
- */
- protected void processTypesAssertions(
- String classPrefix,
- CandidateInfo candidate)
- throws WSIException
- {
- Entry entry = null;
-
- Types[] wsdlTypes = candidate.getTypes();
- Definition[] wsdlDefinitions = candidate.getDefinitions();
-
- // If there are no types elements, then set all results to missingInput
- if (wsdlTypes == null || wsdlTypes.length == 0)
- {
- // Set missingInput for all test assertions with this entry type
- setMissingInput(EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_TYPES));
- }
-
- else
- {
- for (int i = 0; i < wsdlTypes.length; i++)
- {
- Types types = wsdlTypes[i];
- if (types == null)
- {
- // no Types element in i-th document
- continue;
- }
-
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_TYPES));
- entry.setReferenceID(
- candidate.getDefinition(types).getDocumentBaseURI() + "-Types");
- entry.setEntryDetail(types);
-
- // Set entry container
- entry.setEntryContainer(
- getEntryContainer(wsdlDefinitions[i].getDocumentBaseURI()));
-
- // Process all of the Types related test assertions
- processAssertions(
- classPrefix,
- new EntryContext(entry, candidate.getWsdlDocument()));
- }
- }
- }
-
- /**
- * Process import assertions.
- * @param classPrefix class prefix.
- * @param candidate candidate.
- * @throws WSIException if problem occurs during processing
- * import assertions.
- */
- protected void processImportAssertions(
- String classPrefix,
- CandidateInfo candidate)
- throws WSIException
- {
-
- Entry entry = null;
-
- Import[] wsdlImports = candidate.getImports();
-
- // If there are no import elements, then set all results to missingInput
- if (wsdlImports == null || wsdlImports.length == 0)
- {
- // Set missingInput for all test assertions with this entry type
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_IMPORT));
- }
-
- else
- {
- for (int i = 0; i < wsdlImports.length; i++)
- {
- Import wsdlImport = wsdlImports[i];
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_IMPORT));
- entry.setReferenceID(wsdlImport.getNamespaceURI());
- entry.setEntryDetail(wsdlImport);
-
- // Set entry container
- entry.setEntryContainer(getEntryContainer(wsdlImport.getLocationURI()));
-
- // Process all of the import related test assertions
- processAssertions(
- classPrefix,
- new EntryContext(entry, candidate.getWsdlDocument()));
- // ADD: need to use here the specific document corresponding to the import!!
- }
- }
- }
-
- /**
- * Process port assertions.
- * @param port a port.
- * @param serviceReference service reference.
- * @param classPrefix class prefix.
- * @param wsdlDocument WSDL document.
- * @throws WSIException if problem occurs during processing
- * port assertions.
- */
- protected void processPortAssertions(
- Port port,
- ServiceReference serviceReference,
- String classPrefix,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
- Entry entry = null;
-
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORT));
- entry.setReferenceID(port.getName());
- entry.setParentElementName(
- serviceReference.getWSDLElement().getParentElementName());
- entry.setEntryDetail(port);
-
- // Process assertions for this artifact against the target context
- processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
- }
-
- /**
- * Process binding assertions.
- * @param binding binding.
- * @param serviceReference service reference.
- * @param classPrefix class prefix.
- * @param wsdlDocument WSDL document.
- * @throws WSIException if problem occurs during processing
- * binding assertions.
- */
- protected void processBindingAssertions(
- Binding binding,
- ServiceReference serviceReference,
- String classPrefix,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
- Entry entry = null;
- QName bindingQName = binding.getQName();
-
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
- entry.setReferenceID(bindingQName.toString());
- entry.setEntryDetail(binding);
-
- // Set entry container
- Definition definition =
- analyzerContext.getCandidateInfo().getDefinition(binding);
- entry.setEntryContainer(
- getEntryContainer(
- (definition == null ? null : definition.getDocumentBaseURI())));
-
- // Process binding test assertions
- processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
- }
-
- /**
- * Process port type assertions.
- * @param portType port type.
- * @param serviceReference service reference.
- * @param classPrefix class prefix.
- * @param wsdlDocument WSDL document.
- * @throws WSIException if problem occurs during processing
- * port type assertions.
- */
- protected void processPortTypeAssertions(
- PortType portType,
- ServiceReference serviceReference,
- String classPrefix,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
-
- Entry entry = null;
- QName portTypeQName = portType.getQName();
-
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
- entry.setReferenceID(portTypeQName.toString());
- entry.setEntryDetail(portType);
-
- // Set entry container
- Definition definition =
- analyzerContext.getCandidateInfo().getDefinition(portType);
- entry.setEntryContainer(
- getEntryContainer(
- (definition == null ? null : definition.getDocumentBaseURI())));
-
- // Process test assertions
- processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
- }
-
- /**
- * Process operation assertions.
- * @param operation an operation.
- * @param portType port type.
- * @param serviceReference service reference.
- * @param classPrefix class prefix.
- * @param wsdlDocument WSDL document.
- * @throws WSIException if problem occurs during processing
- * operation assertions.
- */
- protected void processOperationAssertions(
- Operation operation,
- PortType portType,
- ServiceReference serviceReference,
- String classPrefix,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
- // qualify operation with service location from config.
- Entry entry = null;
-
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
- entry.setReferenceID(operation.getName());
- entry.setParentElementName(portType.getQName().getLocalPart());
- entry.setEntryDetail(operation);
-
- // Set entry container
- Definition definition =
- analyzerContext.getCandidateInfo().getDefinition(portType);
- entry.setEntryContainer(
- getEntryContainer(
- (definition == null ? null : definition.getDocumentBaseURI())));
-
- // Process test assertions
- processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
- }
-
- /**
- * Process operation assertions.
- * @param portType port type.
- * @param serviceReference service reference.
- * @param classPrefix class prefix.
- * @param wsdlDocument WSDL document.
- * @throws WSIException if problem occurs during processing
- * operation assertions.
- */
- protected void processOperationAssertions(
- PortType portType,
- ServiceReference serviceReference,
- String classPrefix,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
- // For each operation,
- if (portType.getOperations() == null)
- {
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
- }
-
- else
- {
- Operation operation;
- Iterator opIt = portType.getOperations().iterator();
- while (opIt.hasNext())
- {
- operation = (Operation) opIt.next();
- if (operation == null || operation.isUndefined())
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
- else
- processOperationAssertions(
- operation,
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
- }
- }
- }
-
- /**
- * Process message assertions.
- * @param message a message.
- * @param serviceReference service reference.
- * @param classPrefix class prefix.
- * @param wsdlDocument WSDL document.
- * @throws WSIException if problem occurs during processing
- * message assertions.
- */
- protected void processMessageAssertions(
- Message message,
- ServiceReference serviceReference,
- String classPrefix,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
-
- Entry entry = null;
- QName messageQName = message.getQName();
-
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
- entry.setReferenceID(messageQName.toString());
- entry.setEntryDetail(message);
-
- // Set entry container
- Definition definition =
- analyzerContext.getCandidateInfo().getDefinition(message);
- entry.setEntryContainer(
- getEntryContainer(
- (definition == null ? null : definition.getDocumentBaseURI())));
-
- // Process binding test assertions
- processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
- }
-
- /**
- * Process message assertions.
- * @param binding a binding.
- * @param serviceReference service reference.
- * @param classPrefix class prefix.
- * @param wsdlDocument WSDL document.
- * @throws WSIException if problem occurs during processing
- * message assertions.
- */
- protected void processMessageAssertions(
- Binding binding,
- ServiceReference serviceReference,
- String classPrefix,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
- HashSet messageSet;
-
- if (binding.getBindingOperations() != null)
- { // can do nothing if have no operations defined
- messageSet =
- WSDLUtils.findMessages(wsdlDocument.getDefinitions(), binding);
-
- // Process any messages that were found
- if (messageSet.size() > 0)
- {
- Iterator messageIt = messageSet.iterator();
- while (messageIt.hasNext())
- {
- Message message = (Message) messageIt.next();
- if (!message.isUndefined())
- processMessageAssertions(
- message,
- serviceReference,
- classPrefix,
- wsdlDocument);
- }
- }
- }
- }
-
- /**
- * Process message assertions.
- * @param portType port type.
- * @param serviceReference service reference.
- * @param classPrefix class prefix.
- * @param wsdlDocument WSDL document.
- * @throws WSIException if problem occurs during processing
- * message assertions.
- */
- protected void processMessageAssertions(
- PortType portType,
- ServiceReference serviceReference,
- String classPrefix,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
-
- HashSet messageSet = new HashSet();
-
- if (portType.getOperations() != null)
- {
- // can do nothing if have no operations defined
-
- Iterator opIt = portType.getOperations().iterator();
-
- while (opIt.hasNext())
- {
- Operation op = (Operation) opIt.next();
-
- // Since there is no guarantee that we have both and input and output message,
- // check for its existence before adding it
- if (op.getInput() != null && !op.getInput().getMessage().isUndefined())
- messageSet.add(op.getInput().getMessage());
-
- if (op.getOutput() != null
- && !op.getOutput().getMessage().isUndefined())
- messageSet.add(op.getOutput().getMessage());
-
- // also messages from any Faults defined within the operation
- if (op.getFaults() != null)
- {
- Iterator faultIt = op.getFaults().values().iterator();
- Message message;
- while (faultIt.hasNext())
- {
- message = ((Fault) faultIt.next()).getMessage();
- if (!message.isUndefined())
- messageSet.add(message);
- }
- }
- }
-
- if (messageSet.size() == 0)
- {
- // Set all message test assertion results to missingInput
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
- }
-
- else
- {
- // now step through each derived Message
- Iterator messageIt = messageSet.iterator();
- while (messageIt.hasNext())
- {
- processMessageAssertions(
- (Message) (messageIt.next()),
- serviceReference,
- classPrefix,
- wsdlDocument);
- }
- }
- }
- }
-
- /**
- * Process message assertions.
- * @param op - operation.
- * @param serviceReference service reference.
- * @param classPrefix class prefix.
- * @param wsdlDocument WSDL document.
- * @throws WSIException if problem occurs during processing
- * message assertions.
- */
- protected void processMessageAssertions(
- Operation op,
- ServiceReference serviceReference,
- String classPrefix,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
-
- HashSet messageSet = new HashSet();
- if (op.getInput() != null && !op.getInput().getMessage().isUndefined())
- messageSet.add(op.getInput().getMessage());
-
- if (op.getOutput() != null && !op.getOutput().getMessage().isUndefined())
- messageSet.add(op.getOutput().getMessage());
-
- // also messages from any Faults defined within the operation
- Iterator faultIt = op.getFaults().values().iterator();
- Message message;
- while (faultIt.hasNext())
- {
- message = ((Fault) faultIt.next()).getMessage();
- if (!message.isUndefined())
- messageSet.add(message);
- }
-
- if (messageSet.size() == 0)
- {
- // Set all message test assertion results to missingInput
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
- }
-
- else
- {
- // now step through each derived Message
- Iterator messageIt = messageSet.iterator();
- while (messageIt.hasNext())
- {
- processMessageAssertions(
- (Message) (messageIt.next()),
- serviceReference,
- classPrefix,
- wsdlDocument);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isPrimaryEntryTypeMatch(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- protected boolean isPrimaryEntryTypeMatch(
- TestAssertion testAssertion,
- EntryContext targetContext)
- {
- boolean match = false;
-
- // If the test assertion entry type matches the target context entry type, then contine
- if (testAssertion
- .getEntryTypeName()
- .equals(targetContext.getEntry().getEntryType().getTypeName()))
- {
- match = true;
- }
-
- return match;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isNotApplicable(org.wsi.test.profile.TestAssertion)
- */
- protected boolean isNotApplicable(TestAssertion testAssertion)
- {
- boolean notApplicable = false;
-
- // ADD:
-
- return notApplicable;
- }
-
- /**
- * Method getSoapFaults.
- *
- * @param inBinding in binding.
- * @return soap faults.
- * @throws WSIException if problems occur while processing binding faults.
- */
- protected SOAPFault[] getSoapFaults(Binding inBinding) throws WSIException
- {
-
- Vector soapFaults = new Vector();
-
- // Go through each bindingFault one at a time
- BindingFault[] bindingFaults = getAllBindingFaults(inBinding);
- for (int fault = 0; fault < bindingFaults.length; fault++)
- {
- SOAPFault soapFault = getSoapFault(bindingFaults[fault]);
- if (soapFault != null)
- {
- soapFaults.add(soapFault);
- }
- }
-
- SOAPFault[] soapFaultArray = new SOAPFault[soapFaults.size()];
- soapFaults.copyInto(soapFaultArray);
-
- return soapFaultArray;
- }
-
- /**
- * Method getAllBindingFaults.
- *
- * @param inBinding binding.
- * @return all binding faults.
- * @throws WSIException if problems occur during processing.
- */
- protected BindingFault[] getAllBindingFaults(Binding inBinding)
- throws WSIException
- {
-
- Vector faults = new Vector();
-
- try
- {
-
- Iterator bindingOperations = inBinding.getBindingOperations().iterator();
-
- while (bindingOperations.hasNext())
- {
-
- try
- {
- BindingOperation bo = (BindingOperation) bindingOperations.next();
- Iterator bindingFaults = bo.getBindingFaults().values().iterator();
- while (bindingFaults.hasNext())
- {
-
- faults.add((BindingFault) bindingFaults.next());
- }
- }
- catch (NullPointerException e)
- {
-
- }
- }
- }
- catch (NullPointerException e)
- {
- // no binding operations in this binding - ignore & continue
- }
-
- BindingFault[] faultArray = new BindingFault[faults.size()];
- faults.copyInto(faultArray);
-
- return faultArray;
- }
-
- /**
- * Method getWSDLFaults.
- *
- * @param bindingFault a binding fault.
- * @return WSDL faults.
- * @throws WSIException if problems occur during processing.
- */
- protected SOAPFault getSoapFault(BindingFault bindingFault)
- throws WSIException
- {
-
- SOAPFault soapFault = null;
- try
- {
- Iterator faultExtensibles =
- bindingFault.getExtensibilityElements().iterator();
-
- while (faultExtensibles.hasNext() && soapFault == null)
- {
- try
- {
- soapFault = (SOAPFault) faultExtensibles.next();
- }
- catch (ClassCastException e)
- { // ignore everything but SOAP Fault elements.
- }
- }
- }
- catch (NullPointerException e)
- {
- }
-
- return soapFault;
- }
-
- /**
- * Method getSoapHeader.
- *
- * @param inBinding a binding.
- * @return SOAP headers.
- * @throws WSIException if problems occur during processing.
- */
- protected SOAPHeader[] getSoapHeaders(Binding inBinding) throws WSIException
- {
- // Get all bindings
- Binding[] bindingList = new Binding[1];
- bindingList[0] = inBinding;
-
- Vector soapHeaderList = new Vector();
-
- // Go through each binding one at a time
- for (int binding = 0; binding < bindingList.length; binding++)
- {
- try
- {
- // get the list of binding Operations
- BindingOperation[] bindingOperations =
- (BindingOperation[]) bindingList[binding]
- .getBindingOperations()
- .toArray(
- new BindingOperation[0]);
-
- // get references to the extensible elements within the <input> and <output> elements of this binding <operation>.
- for (int bo = 0; bo < bindingOperations.length; bo++)
- {
-
- // Iterate over all input/output extensibles, looking for <SOAP:Body> elements.
- try
- {
- BindingInput bindingInput = bindingOperations[bo].getBindingInput();
- BindingOutput bindingOutput =
- bindingOperations[bo].getBindingOutput();
-
- Iterator extElements =
- bindingInput.getExtensibilityElements().iterator();
- while (extElements.hasNext())
- {
- try
- {
- soapHeaderList.add((SOAPHeader) extElements.next());
- }
- catch (ClassCastException e)
- { // ignore everything but SOAP Header.
- }
- }
-
- extElements = bindingOutput.getExtensibilityElements().iterator();
- while (extElements.hasNext())
- {
- try
- {
- soapHeaderList.add((SOAPHeader) extElements.next());
- }
- catch (ClassCastException e)
- { // ignore everything but SOAP Header.
- }
- }
- }
- catch (NullPointerException e)
- { // no extensibility elements for <input> or <output> - ignore : not checking this here.
- }
- }
- }
- catch (NullPointerException e)
- {
- // no binding operations in this binding - ignore & continue
- }
- }
-
- SOAPHeader[] soapHeaderArray = new SOAPHeader[soapHeaderList.size()];
- soapHeaderList.copyInto(soapHeaderArray);
-
- return soapHeaderArray;
- }
-
- /**
- * Method getSoapHeaderFaults.
- *
- * WSDLDocument getter method - maybe better off in class WSDLDocument...
- *
- * @param inBinding a binding.
- * @return SOAP header faults.
- * @throws WSIException if problems occur during processing.
- */
- protected SOAPHeaderFault[] getSoapHeaderFaults(Binding inBinding)
- throws WSIException
- {
- Vector soapHeaderFaultList = new Vector();
-
- // Get the list of SOAP headers
- SOAPHeader[] soapHeaderArray = getSoapHeaders(inBinding);
-
- // Go through the list and get the header faults
- List list = null;
- for (int header = 0; header < soapHeaderArray.length; header++)
- {
- // Get list for this header
- if ((list = soapHeaderArray[header].getSOAPHeaderFaults()) != null)
- {
- // Add to primary list
- soapHeaderFaultList.addAll(list);
- }
- }
-
- SOAPHeaderFault[] soapHeaderFaultArray =
- new SOAPHeaderFault[soapHeaderFaultList.size()];
- soapHeaderFaultList.copyInto(soapHeaderFaultArray);
-
- return soapHeaderFaultArray;
- }
-
- /**
- * Method getSoapBodies.
- *
- * WSDLDocument getter method - maybe better off in class WSDLDocument...
- *
- * @param inBinding a binding.
- * @return SOAP bodies.
- * @throws WSIException if if problems occur during processing.
- */
- protected SOAPBody[] getSoapBodies(Binding inBinding) throws WSIException
- {
- // REMOVE: Get all bindings
- //Binding[] bindingList = wsdlDocument.getBindings();
- Binding[] bindingList = new Binding[1];
- bindingList[0] = inBinding;
-
- Vector soapBodies = new Vector();
-
- // Go through each binding one at a time
- for (int binding = 0; binding < bindingList.length; binding++)
- {
- // get the list of binding Operations
- BindingOperation[] bindingOperations =
- (BindingOperation[]) bindingList[binding]
- .getBindingOperations()
- .toArray(
- new BindingOperation[0]);
-
- // get references to the extensible elements within the <input> and <output> elements of this binding <operation>.
- for (int bo = 0; bo < bindingOperations.length; bo++)
- {
-
- // Iterate over all input/output extensibles, looking for <SOAP:Body> elements.
- try
- {
- Iterator inputExtensibles =
- bindingOperations[bo]
- .getBindingInput()
- .getExtensibilityElements()
- .iterator();
- while (inputExtensibles.hasNext())
- {
- try
- {
- soapBodies.add((SOAPBody) inputExtensibles.next());
- }
- catch (ClassCastException e)
- { // ignore everything but SOAP Body elements.
- }
- }
- }
- catch (NullPointerException e)
- { // no extensibility elements for <input> - ignore : not checking this here.
- }
-
- try
- {
- Iterator outputExtensibles =
- bindingOperations[bo]
- .getBindingOutput()
- .getExtensibilityElements()
- .iterator();
- while (outputExtensibles.hasNext())
- {
- try
- {
- soapBodies.add((SOAPBody) outputExtensibles.next());
- }
- catch (ClassCastException e)
- { // ignore everything but SOAP Body elements.
- }
- }
- }
- catch (NullPointerException e)
- { // no extensibility elements for <output>.
- }
- }
- }
-
- SOAPBody[] soapBodyArray = new SOAPBody[soapBodies.size()];
- soapBodies.copyInto(soapBodyArray);
-
- return soapBodyArray;
- }
-
- /**
- * Method getSoapBody.
- *
- * @param bindingInput a BindingInput object.
- * @return body.
- * @throws WSIException if problems occur during processing.
- */
- protected SOAPBody getSoapBody(BindingInput bindingInput) throws WSIException
- {
-
- SOAPBody soapBody = null;
-
- Iterator extensibles = bindingInput.getExtensibilityElements().iterator();
- while (extensibles.hasNext())
- {
- Object extensible = extensibles.next();
- if (extensible instanceof SOAPBody)
- {
- soapBody = (SOAPBody) extensible;
- break;
- }
- }
- return soapBody;
- }
-
- /**
- * Method getSoapBody.
- *
- * @param bindingOutput a BindingOutput object.
- * @return SOAP body.
- * @throws WSIException if problems occur during processing.
- */
- protected SOAPBody getSoapBody(BindingOutput bindingOutput)
- throws WSIException
- {
-
- SOAPBody soapBody = null;
-
- Iterator extensibles = bindingOutput.getExtensibilityElements().iterator();
- while (extensibles.hasNext())
- {
- Object extensible = extensibles.next();
- if (extensible instanceof SOAPBody)
- {
- soapBody = (SOAPBody) extensible;
- break;
- }
- }
- return soapBody;
- }
-
- /**
- * Get schema used.
- * @param def definition.
- * @return Schema used.
- * @throws AssertionFailException if problem getting WSDL defintions
- * namespace.
- */
- protected String getSchemaUsed(Definition def) throws AssertionFailException
- {
- String schemaUsed = "";
-
- try
- {
- // Need to read the file directly, since WSDL4J always puts in the default WSDL namespace
- Document document = parseXMLDocumentURL(def.getDocumentBaseURI(), null);
-
- if (document != null)
- {
- // Get the root element
- Element element = document.getDocumentElement();
-
- // Get the namespace for this element
- if (element != null)
- schemaUsed = element.getNamespaceURI();
- }
- }
-
- catch (WSIException we)
- {
- throw new AssertionFailException("problem getting WSDL defintions namespace");
- }
-
- /*
- // Get the default namespace
- String schemaUsed = def.getNamespace("");
-
- // If the default was set, then process it to get the namespace
- if (schemaUsed == null) {
- // do it the hard way (still better than another DOM parse)...
- //WSDLWriter w = new WSDLWriterImpl();
- try {
- WSDLWriter w = WSDLFactory.newInstance().newWSDLWriter();
- Document doc = w.getDocument(def);
- Element e = doc.getDocumentElement();
- schemaUsed = e.getNamespaceURI();
- }
- catch (NullPointerException e) {
- throw new AssertionFailException("problem getting WSDL defintions namespace");
- }
- catch (WSDLException e) {
- throw new AssertionFailException("problem getting document defintion");
- }
- }
- */
-
- return schemaUsed;
- }
-
- /**
- * Method getSoapBinding.
- *
- * Get the SOAP binding for a Binding.
- *
- * @param binding a binding.
- * @return a SOAP binding.
- * @throws WSIException if problems occur during processing.
- */
- public static SOAPBinding getSoapBinding(Binding binding) throws WSIException
- {
- SOAPBinding soapBinding = null;
-
- // Get the list of extensibility elements
- List exElements = binding.getExtensibilityElements();
- if (exElements != null)
- {
- Iterator iterator = binding.getExtensibilityElements().iterator();
-
- // Check for <soap:binding> element
- while ((iterator.hasNext()) && (soapBinding == null))
- {
- try
- {
- soapBinding = (SOAPBinding) iterator.next();
- }
- catch (ClassCastException e)
- { // ignore everything but SOAP Binding element
- }
- }
- }
-
- return soapBinding;
- }
-
- /**
- * Create XML schema validator. This is done here because some compilers do not allow
- * the documentList field to be accessed from within an inner class.
- * @param documentBaseURI the base URL.
- * @return newly created XML schema validator.
- */
- protected XMLSchemaValidator createXMLSchemaValidator(String documentBaseURI)
- {
- // Create XML schema validator
- return new XMLSchemaValidator(documentBaseURI);
- }
-
- /**
- * Search xsd schema or xsd import from node. If node is xsd import it's loading schema.
- * @param definition a Definition object.
- * @return a list of schema target namespaces.
- * @throws WSIException if problem during processing method.
- */
- protected List getSchemaTargetNamespaceList(Definition definition)
- throws WSIException
- {
- List list = null, nextList = null;
-
- // Get list of extension elements within the types element
- Types types = null;
- if ((types = definition.getTypes()) != null)
- {
- Iterator iterator = types.getExtensibilityElements().iterator();
-
- ExtensibilityElement extElement = null;
- while (iterator.hasNext())
- {
- // Get next ext. element
- extElement = (ExtensibilityElement) iterator.next();
- // If this is an unknown ext. element, then see if it is a schema element
- TargetNamespaceProcessor tnsProcessor = null;
- if (extElement instanceof UnknownExtensibilityElement)
- {
- tnsProcessor = new TargetNamespaceProcessor(definition.getDocumentBaseURI());
-
-
- if ((nextList =
- tnsProcessor.processAllSchema(
- ((UnknownExtensibilityElement) extElement).getElement()))
- != null)
- if (list == null)
- list = new Vector();
- list.addAll(nextList);
- }
- }
- }
-
- return list;
- }
- /**
- * Search xsd schema or xsd import from node. If node is xsd import it's loading schema.
- * @param definition a Definition object.
- * @return a list of schema target namespaces.
- * @throws WSIException if problem during processing method.
- */
- protected List getSchemaNamespaceList(Definition definition)
- throws WSIException
- {
- List list = new Vector();
-
- // Always add current document targetNamespace
- List targetNamespaceList = getSchemaTargetNamespaceList(definition);
-
- if ((targetNamespaceList != null) && !targetNamespaceList.isEmpty())
- list.addAll(targetNamespaceList);
-
- // Get list of imported WSDL documents
- Map importMap = definition.getImports();
-
- Import imp;
-
- // Add each imports targetNamespace to the list
- if (importMap != null && !importMap.isEmpty())
- {
- Iterator values = importMap.values().iterator();
- List importList;
- while (values.hasNext())
- {
- importList = (List) values.next();
- Iterator imports = importList.iterator();
- while (imports.hasNext())
- {
- imp = (Import) imports.next();
- if (imp != null && imp.getDefinition() != null)
- list.addAll(getSchemaNamespaceList(imp.getDefinition()));
- }
- }
- }
-
- return list;
- }
-
- /**
- * Build list of WSDL targetNamespaces.
- * @param definition a Definition object.
- * @return list of WSDL targetNamespaces.
- */
- protected List getWSDLTargetNamespaceList(Definition definition)
- {
- List list = new Vector();
-
- // Always add current document targetNamespace
- if (definition.getTargetNamespace() != null)
- list.add(definition.getTargetNamespace());
-
- // Get list of imported WSDL documents
- Map importMap = definition.getImports();
-
- Import imp;
-
- // Add each imports targetNamespace to the list
- if (importMap != null && !importMap.isEmpty())
- {
- Iterator values = importMap.values().iterator();
- List importList;
- while (values.hasNext())
- {
- importList = (List) values.next();
- Iterator imports = importList.iterator();
- while (imports.hasNext())
- {
- imp = (Import) imports.next();
- if (imp != null && imp.getDefinition() != null)
- list.addAll(getWSDLTargetNamespaceList(imp.getDefinition()));
- // list.add(imp.getDefinition().getTargetNamespace());
- }
- }
- }
-
- return list;
- }
-
- protected class BindingMatch
- {
- private Binding binding;
- private BindingOperation bindingOperation;
- private SOAPBinding soapBinding;
- //private Vector bindingArgs; // set of BindingInputs and BindingOutputs
- private BindingInput bindingInput;
- private BindingOutput bindingOutput;
-
- // ADD: need to include BindingFault support...
- public BindingMatch(
- Binding b,
- BindingOperation bo,
- SOAPBinding sb,
- BindingInput bin,
- BindingOutput bout)
- {
- binding = b;
- bindingOperation = bo;
- soapBinding = sb;
- //bindingArgs = new Vector();
- //if (bin != null) { bindingArgs.add(bin); }
- //if (bout != null) { bindingArgs.add(bout); }
- bindingInput = bin;
- bindingOutput = bout;
- }
-
- public BindingMatch(
- Binding b,
- BindingOperation bo,
- SOAPBinding sb,
- BindingInput bin)
- {
- this(b, bo, sb, bin, null);
- }
-
- public BindingMatch(
- Binding b,
- BindingOperation bo,
- SOAPBinding sb,
- BindingOutput bout)
- {
- this(b, bo, sb, null, bout);
- }
-
- /**
- * Returns the soapBinding.
- * @return SOAPBinding
- */
- public SOAPBinding getSoapBinding()
- {
- return soapBinding;
- }
-
- /**
- * Returns the bindingOperation.
- * @return BindingOperation
- */
- public BindingOperation getBindingOperation()
- {
- return bindingOperation;
- }
-
- /**
- * Returns the bindingInput.
- * @return BindingInput
- */
- public BindingInput getBindingInput()
- {
- return bindingInput;
- }
-
- /**
- * Returns the bindingOutput.
- * @return BindingOutput
- */
- public BindingOutput getBindingOutput()
- {
- return bindingOutput;
- }
-
- public boolean hasBindingInput()
- {
- return (this.bindingInput != null);
- }
-
- public boolean hasBindingOutput()
- {
- return (this.bindingOutput != null);
- }
-
- /**
- * Returns the binding.
- * @return Binding
- */
- public Binding getBinding()
- {
- return binding;
- }
-
- }
-
- /**
- * Get binding matches.
- * @param binding a binding.
- * @param soapBindingStyle soap binding style.
- * @param soapBodyUse soap body use.
- * @return binding matches.
- * @throws WSIException if problems occur during processing.
- */
- public BindingMatch[] getBindingMatches(
- Binding binding,
- String soapBindingStyle,
- String soapBodyUse)
- throws WSIException
- {
-
- Vector bindingMatches = new Vector();
-
- // Check binding
- SOAPBinding soapBinding = getSoapBinding(binding);
-
- // check that the soap:binding for this WSDL binding is the specified style
- // ADD: check for null pointer
- if (soapBinding != null)
- {
- String defaultStyle = soapBinding.getStyle();
-
- if (defaultStyle == null)
- {
- defaultStyle = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
- }
-
- // Get the set of operations for this WSDL binding
- List bindingOpsList = binding.getBindingOperations();
- if (bindingOpsList != null)
- {
- Iterator bindingOps = bindingOpsList.iterator();
- // for each binding operation:
- while (bindingOps.hasNext())
- {
- BindingOperation bindingOp = (BindingOperation) bindingOps.next();
-
- SOAPOperation soapOp = getSoapOperation(bindingOp);
-
- if ((soapOp == null && defaultStyle.equals(soapBindingStyle))
- || (soapOp != null
- && soapOp.getStyle() == null
- && defaultStyle.equals(soapBindingStyle))
- || (soapOp != null
- && soapOp.getStyle() != null
- && soapOp.getStyle().equals(soapBindingStyle)))
- {
- // check binding input & output
- BindingInput bInput = bindingOp.getBindingInput();
- if (bInput != null)
- {
- SOAPBody inputSoapBody = getSoapBody(bInput);
- if (inputSoapBody == null
- || (inputSoapBody.getUse() != null
- && !inputSoapBody.getUse().equals(soapBodyUse)))
- {
- bInput = null;
- }
- }
-
- BindingOutput bOutput = bindingOp.getBindingOutput();
- if (bOutput != null)
- {
- SOAPBody outputSoapBody = getSoapBody(bOutput);
-
- if (outputSoapBody == null
- || (outputSoapBody.getUse() != null
- && !outputSoapBody.getUse().equals(soapBodyUse)))
- {
- bOutput = null;
- }
- }
-
- if ((bOutput != null) || (bInput != null))
- {
- // we have a match, add to the vector
- bindingMatches.add(
- new BindingMatch(
- binding,
- bindingOp,
- soapBinding,
- bInput,
- bOutput));
- }
- }
- }
- }
- }
-
- BindingMatch[] BindingMatchArray = new BindingMatch[bindingMatches.size()];
- bindingMatches.copyInto(BindingMatchArray);
- return BindingMatchArray;
- }
-
- /**
- * Method getSoapOperation.
- *
- * @param bindingOperation a binding operation.
- * @return a soap operation.
- * @throws WSIException if problems while processing.
- */
- public static SOAPOperation getSoapOperation(BindingOperation bindingOperation)
- throws WSIException
- {
-
- if (bindingOperation.getExtensibilityElements() == null)
- {
- return null;
- }
-
- Iterator extensibles =
- bindingOperation.getExtensibilityElements().iterator();
- while (extensibles.hasNext())
- {
- Object extensible = extensibles.next();
- if (extensible instanceof SOAPOperation)
- {
- return (SOAPOperation) extensible;
- }
- }
- return null;
- }
-
- /*
- * Returns an array of SOAPOperations corresponding to the wsdl:binding supplied.
- */
- protected HashMap getSoapOperations(Binding binding) throws WSIException
- {
- HashMap soapOperationList = new HashMap();
-
- if (binding.getBindingOperations() == null)
- {
- return null;
- }
-
- //Vector soapOpVector = new Vector();
-
- // Get the list of binding operations
- Iterator operations = binding.getBindingOperations().iterator();
-
- // Check each binding operation to see if it has a soap operation element
- BindingOperation bindingOperation = null;
- while (operations.hasNext())
- {
- bindingOperation = (BindingOperation) operations.next();
- Iterator extensibles =
- bindingOperation.getExtensibilityElements().iterator();
- while (extensibles.hasNext())
- {
- Object extensible = extensibles.next();
- if (extensible instanceof SOAPOperation)
- {
- soapOperationList.put(extensible, bindingOperation.getName());
- }
- }
- }
-
- //return (SOAPOperation[])soapOpVector.toArray(new SOAPOperation[] {});
- return soapOperationList;
- }
-
- /**
- * Check part attributes.
- * @param bindingMatch an array of BindingMatch objects.
- * @param inOrOut a String object.
- * @param attrib attribute.
- * @return a boolean.
- * @throws AssertionFailException if the part is not compliant.
- */
- // GT - rework this method with a better way of parameterizing the getters required for the invocation.
- protected boolean checkPartAttributes(
- BindingMatch[] bindingMatch,
- String inOrOut,
- String attrib)
- throws AssertionFailException
- {
-
- if (!(inOrOut.equals("useInput") || inOrOut.equals("useOutput"))
- || !(attrib.equals("useType") || attrib.equals("useElement")))
- {
- // invalid argument value supplied by calling method - "internal error"
- return false;
- }
-
- for (int i = 0; i < bindingMatch.length; i++)
- {
- BindingMatch nextMatch = bindingMatch[i];
-
- // check the associated parts
- Message msg;
- Map parts;
- Iterator partIteration;
-
- BindingOperation bindingOp = nextMatch.getBindingOperation();
- if (bindingOp == null)
- {
- continue; // no Binding Operation for some reason
- }
-
- Operation op = bindingOp.getOperation();
-
- /* ADD: handle soap:faults in similar way
- try {
- // check faults - remarkably similar.... (need to retain operation id for failuredetail msg)
- if (nextMatch.hasBindingFault()) {
-
- msg = op.getFault().getMessage();
- parts = msg.getParts();
-
- //check that each part has an element attribute
- partIteration = parts.values().iterator();
- while (partIteration.hasNext()) {
- Part part = (Part)partIteration.next();
- if (part.getElementName() == null) {
- throw new AssertionFailException("OPERATION: " + op + "MESSAGE: " + msg);
- }
- }
- }
- }
- catch (NullPointerException n) {
- // no parts found - this qualifies an assertion failure
- throw new AssertionFailException(n.getMessage());
- }
- */
-
- try
- {
-
- QName attributeName;
-
- //GT: Do we need to check BindingInput / Output here ??
-
- if (inOrOut.equals("useInput"))
- {
- if (op.getInput() == null || !nextMatch.hasBindingInput())
- {
- // No Input so nothing to check
- continue;
- }
-
- msg = op.getInput().getMessage();
-
- }
- else
- { // Looking for Output
- if (op.getOutput() == null || !nextMatch.hasBindingOutput())
- {
- // No Output so nothing to check
- continue;
- }
-
- msg = op.getOutput().getMessage();
- }
-
- if (msg == null)
- {
- continue; // nothing to check from this Binding Match (?)
- }
-
- // Get the list of parts
- parts = msg.getParts();
-
- // If there is a parts attribute, then only process those parts
- List partsNameList = null;
- if ((partsNameList = getPartsList(nextMatch, inOrOut)) != null)
- {
- Vector partsList = new Vector();
- Iterator partsNameIterator = partsNameList.iterator();
- while (partsNameIterator.hasNext())
- {
- partsList.add(parts.get((String) partsNameIterator.next()));
- }
- partIteration = partsList.iterator();
- }
-
- // Otherwise use the complete list of parts
- else
- {
- partIteration = parts.values().iterator();
- }
-
- //check that each part has an element or type attribute
- while (partIteration.hasNext())
- {
- Part part = (Part) partIteration.next();
- if (attrib.equals("useElement"))
- {
- attributeName = part.getElementName();
- }
- else
- { // "useType"
- attributeName = part.getTypeName();
- }
-
- if (attributeName == null)
- {
- throw new AssertionFailException(
- "Name of operation that failed: "
- + op.getName()
- + "\n"
- + op.toString()
- + "\n"
- + "\nName of message that failed: "
- + msg.getQName()
- + "\n"
- + msg.toString());
- }
- }
- }
- catch (NullPointerException n)
- {
- // no parts found - this qualifies an assertion failure
- throw new AssertionFailException(n.toString());
- }
- }
- return true; // tests successful
- }
-
- /**
- * Get parts list from a soapbind:body element.
- */
- private List getPartsList(BindingMatch bindingMatch, String type)
- {
- List partsList = null;
- Iterator iterator = null;
-
- BindingOperation bindingOp;
-
- try
- {
- // Get the binding operation
- bindingOp = bindingMatch.getBindingOperation();
-
- // Determine if the binding operation contains a soapbind:body with a parts attribute
- if (type.equals("useInput"))
- {
- iterator =
- bindingOp.getBindingInput().getExtensibilityElements().iterator();
- }
- else
- {
- iterator =
- bindingOp.getBindingOutput().getExtensibilityElements().iterator();
- }
- }
- catch (NullPointerException e)
- {
- return null;
- // either no binding operation, binding input/output, or SOAP element
- }
-
- // Determine if the binding operation contains a soapbind:body with a parts attribute
- while ((iterator.hasNext()) && (partsList == null))
- {
- try
- {
- SOAPBody soapBody = (SOAPBody) iterator.next();
- partsList = soapBody.getParts();
- }
- catch (ClassCastException cce)
- { // not a SOAPBody extensibility element so ignore
- }
- }
-
- return partsList;
- }
-
- /**
- * Get element location.
- * @param wsdlDocument WSDL document.
- * @param wsdlElement WSDL element.
- * @return element location.
- */
- protected ElementLocation getElementLocation(
- WSDLDocument wsdlDocument,
- Object wsdlElement)
- {
- ElementLocation elementLocation = null;
- WSDLElementList wsdlElementList;
-
- if ((wsdlElementList = wsdlDocument.getElementList()) != null)
- {
- elementLocation = wsdlElementList.getElementLocation(wsdlElement);
- }
-
- return elementLocation;
- }
-
- /**
- * Create failure detail.
- * @param message a message.
- * @param entryContext entry context.
- * @return failure detail.
- */
- protected FailureDetail createFailureDetail(
- String message,
- EntryContext entryContext)
- {
- return createFailureDetail(
- message,
- entryContext,
- entryContext.getEntry().getEntryDetail());
- }
-
- /**
- * Create failure detail.
- * @param message a message.
- * @param entryContext entry context.
- * @param wsdlElement WSDL element.
- * @return failure detail.
- */
- protected FailureDetail createFailureDetail(
- String message,
- EntryContext entryContext,
- Object wsdlElement)
- {
- FailureDetail failureDetail = reporter.createFailureDetail();
- failureDetail.setFailureMessage(message);
- failureDetail.setElementLocation(
- getElementLocation(entryContext.getWSDLDocument(), wsdlElement));
- return failureDetail;
- }
-
- /**
- * SOAPBody, SOAPFault, SOAPHeader and SOAPHeaderFault class
- * interfaces have compatible getUse() and getNamespaceURI()
- * methods, but wsdl4j does not declare them at the parent interface.
- * Therefore use reflection to access these common methods.
- *
- * @param extElement extensibility element.
- * @return true if namespace is found in SOAP literal.
- * @throws NoSuchMethodException if this method cannot be found.
- * @throws InvocationTargetException if problems occur in an invoked method or constructor
- * @throws IllegalAccessException if there is am attempt to load a
- * class that it does not have access to.
- */
- protected boolean namespaceFoundInSoapLiteral(ExtensibilityElement extElement)
- throws NoSuchMethodException, InvocationTargetException, IllegalAccessException
- {
- Class c = extElement.getClass();
- Method getUseMethod = c.getMethod("getUse", new Class[0]);
- Method getNamespaceURIMethod = c.getMethod("getNamespaceURI", new Class[0]);
-
- // (use attribute is mandatory but the null case is checked for since a missing use is not
- // checked with this TA. If its missing its invalid but we don't know whether we have doc-lit).
- if (getUseMethod.invoke(extElement, null) == null
- || !getUseMethod.invoke(extElement, null).equals(
- WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
- {
- return false;
- }
-
- // return true if namespace found
- boolean namespaceFound =
- (getNamespaceURIMethod.invoke(extElement, null) != null);
-
- // return true if namespace found
- return namespaceFound;
-
- }
-
- /**
- * Verify extensibility element uses literal.
- * @param extensible - extensibility element
- * @return boolean
- * @throws NoSuchMethodException if this method cannot be found.
- * @throws InvocationTargetException if problems occur in an invoked method or constructor
- * @throws IllegalAccessException if there is am attempt to load a
- * class that it does not have access to.
- */
- protected boolean isLiteral(ExtensibilityElement extensible)
- throws NoSuchMethodException, InvocationTargetException, IllegalAccessException
- {
-
- Class c = extensible.getClass();
- Method getUseMethod = c.getMethod("getUse", new Class[0]);
-
- // (use attribute is mandatory but the null case is checked for since a missing use is not
- // checked with this TA. If its missing its invalid but we don't know whether we have doc-lit).
- if (getUseMethod.invoke(extensible, null) == null
- || !getUseMethod.invoke(extensible, null).equals(
- WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
- {
- return false;
- }
-
- // return true if shown to have use="literal"
- return true;
-
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2010.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2010.java
deleted file mode 100644
index 4b39b5d48..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2010.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2010
- */
-public class WSI2010 extends BP2010
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2010(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2011.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2011.java
deleted file mode 100644
index 61d5da778..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2011.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2011
- */
-public class WSI2011 extends BP2011
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2011(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2012.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2012.java
deleted file mode 100644
index 21d9ef231..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2012.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2012
- */
-public class WSI2012 extends BP2012
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2012(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2013.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2013.java
deleted file mode 100644
index d4f01cf16..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2013.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2013
- */
-public class WSI2013 extends BP2013
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2013(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2014.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2014.java
deleted file mode 100644
index fbb6a6ae2..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2014.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2014
- */
-public class WSI2014 extends BP2014
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2014(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2017.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2017.java
deleted file mode 100644
index 93e9820b6..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2017.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2017
- */
-public class WSI2017 extends BP2017
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2017(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2018.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2018.java
deleted file mode 100644
index 3845e3130..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2018.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2018
- */
-public class WSI2018 extends BP2018
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2018(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2019.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2019.java
deleted file mode 100644
index fb197f277..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2019.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2019
- */
-public class WSI2019 extends BP2019
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2019(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2020.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2020.java
deleted file mode 100644
index 25f0206d4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2020.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2020
- */
-public class WSI2020 extends BP2020
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2020(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2021.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2021.java
deleted file mode 100644
index 437f1bc35..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2021.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2021
- */
-public class WSI2021 extends BP2021
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2021(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2022.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2022.java
deleted file mode 100644
index 826996572..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2022.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2022
- */
-public class WSI2022 extends BP2022
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2022(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2032.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2032.java
deleted file mode 100644
index 6c07ac1a6..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2032.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2032
- */
-public class WSI2032 extends BP2032
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2032(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2098.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2098.java
deleted file mode 100644
index 82a905c27..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2098.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2098
- */
-public class WSI2098 extends BP2098
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2098(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2099.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2099.java
deleted file mode 100644
index 514b52c08..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2099.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Input;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Element;
-
-
-/**
- * WSI2099.
- * <context>For a candidate wsdl:definitions, </context>
- * <assertionDescription>A WS-I conformance annotation does not appear outside a wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message element.</assertionDescription>
- */
-public class WSI2099 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2099(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
- private boolean containsClaims = false;
-
- /**
- * Check a WS-I conformance annotation does not appear outside a wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message element if not it creates failure report.
- * @see org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLVisitor#visit(org.w3c.dom.Element, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Element el, Object parent, WSDLTraversalContext ctx)
- {
- // conformance claim should be within : port, binding, porttype, operation, message
- if (containsConformanceClaim(el))
- {
- containsClaims = true;
-
- if (parent instanceof BindingFault)
- errors.add(WSDL_FAULT, ((BindingFault) parent).getName());
- else if (parent instanceof BindingInput)
- errors.add(WSDL_INPUT, ((BindingInput) parent).getName());
- else if (parent instanceof BindingOperation)
- errors.add(WSDL_OPERATION, ((BindingOperation) parent).getName());
- else if (parent instanceof BindingOutput)
- errors.add(WSDL_OUTPUT, ((BindingOutput) parent).getName());
- else if (parent instanceof Definition)
- errors.add(WSDL_DEFINITIONS, ((Definition) parent).getQName());
- else if (parent instanceof Service)
- errors.add(WSDL_SERVICE, ((Service) parent).getQName());
- else if (parent instanceof Fault)
- errors.add(WSDL_FAULT, ((Fault) parent).getName());
- else if (parent instanceof Output)
- errors.add(WSDL_INPUT, ((Output) parent).getName());
- else if (parent instanceof Import)
- errors.add(WSDL_IMPORT, ((Import) parent).getNamespaceURI());
- else if (parent instanceof Input)
- errors.add(WSDL_INPUT, ((Input) parent).getName());
- else if (parent instanceof Part)
- errors.add(WSDL_PART, ((Part) parent).getName());
- else if (parent instanceof Types)
- errors.add(WSDL_TYPES);
- }
- }
-
- /* Validates the test assertion.
- * @see org.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_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitElement(true);
- /*
- traversal.
- ignorePort2Element().
- ignoreMessage2Element().
- ignoreBinding2Element().
- ignorePortType2Element().
- ignoreOperation2Element();
- */
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse((Definition) entryContext.getEntry().getEntryDetail());
-
- // create detail message with the list of error elements
- if (!errors.isEmpty())
- {
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- result = AssertionResult.RESULT_FAILED;
- }
-
- else if (!containsClaims)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- else
- {
- result = AssertionResult.RESULT_PASSED;
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /**
- * Check the documentation element whether contains conformance claims.
- * Returns true if documentation element contains conformance claim.
- * @param el
- * @return boolean
- */
- private boolean containsConformanceClaim(Element el)
- {
- if (el == null)
- return false;
- el = XMLUtils.findChildElement(el, WSI_CLAIM);
- return (el != null);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2100.java
deleted file mode 100644
index da15585c4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2100.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-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.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Element;
-
-
-/**
- * WSI2100.
- * <context>For a candidate wsdl:definitions, if it contains a wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message, which in turn contains a conformance annotation</context>
- * <assertionDescription>The conformance annotation of the wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message, validates to the schema defined in the Basic Profile, and is direct child of the documentation element for the WSDL element. The schema definition uses "http://ws-i.org/schemas/conformanceClaim/" as the targetNamespace. </assertionDescription>
- */
-public class WSI2100 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2100(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private boolean containsClaims = false;
- private ErrorList errors = new ErrorList();
-
- /* Create falure report if port contains illegal claim.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Port, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Port port, Object parent, WSDLTraversalContext ctx)
- {
- if (port != null && !containsLegalClaim(port.getDocumentationElement()))
- errors.add(WSDL_PORT, port.getName());
- }
-
- /* Create falure report if binding contains illegal claim.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Binding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Binding binding, Object parent, WSDLTraversalContext ctx)
- {
- if (binding != null
- && !containsLegalClaim(binding.getDocumentationElement()))
- errors.add(WSDL_BINDING, binding.getQName());
- }
-
- /* Create falure report if port type contains illegal claim.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.PortType, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(PortType type, Object parent, WSDLTraversalContext ctx)
- {
- if (type != null && !containsLegalClaim(type.getDocumentationElement()))
- errors.add(WSDL_PORTTYPE, type.getQName());
- }
-
- /* Create falure report if operation contains illegal claim.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Operation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- Operation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- if (operation != null
- && !containsLegalClaim(operation.getDocumentationElement()))
- errors.add(WSDL_OPERATION, operation.getName());
- }
-
- /* Create falure report if message contains illegal claim.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Message, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Message message, Object parent, WSDLTraversalContext ctx)
- {
- if (message != null
- && !containsLegalClaim(message.getDocumentationElement()))
- errors.add(WSDL_MESSAGE, message.getQName());
- }
-
- /* Validates the test assertion.
- * @see org.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_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitOperation(true);
- traversal.visitBinding(true);
- traversal.visitMessage(true);
- traversal.visitPort(true);
- traversal.visitPortType(true);
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse((Definition) entryContext.getEntry().getEntryDetail());
-
- // create detail message with the list of error elements
- if (!errors.isEmpty())
- {
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- result = AssertionResult.RESULT_FAILED;
- }
-
- else if (!containsClaims)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /**
- * Check the documentation element whether contains conformance claims.
- * Returns true if documentation element contains conformance claim with
- * illegal schema definition URI.
- * legal is 'http://ws-i.org/schemas/conformanceClaim/'
- * @param el
- * @return boolean
- */
- private boolean containsLegalClaim(Element el)
- {
- if (el == null)
- return true;
- // find claim
- el = XMLUtils.findChildElement(el, WSI_CLAIM);
-
- if (el != null)
- containsClaims = true;
-
- while (el != null)
- {
- if (XMLUtils.getAttribute(el, ATTR_CLAIM_CONFORMSTO) == null
- || XMLUtils.getAttribute(el, ATTR_SOAP_MUSTUNDERSTAND) != null)
- return false;
- el = XMLUtils.findElement(el, WSI_CLAIM);
- }
- return true;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2101.java
deleted file mode 100644
index 68f09db6a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2101.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2101
- */
-public class WSI2101 extends BP2101
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2101(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2102.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2102.java
deleted file mode 100644
index 63627d05c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2102.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2102
- */
-public class WSI2102 extends BP2102
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2102(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2103.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2103.java
deleted file mode 100644
index bb75f197c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2103.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2103
- */
-public class WSI2103 extends BP2103
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2103(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2104.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2104.java
deleted file mode 100644
index b7427795e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2104.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2104
- */
-public class WSI2104 extends BP2104
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2104(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2105.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2105.java
deleted file mode 100644
index bbbddfeec..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2105.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2105
- */
-public class WSI2105 extends BP2105
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2105(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2107.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2107.java
deleted file mode 100644
index dc5742fd8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2107.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2107
- */
-public class WSI2107 extends BP2107
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2107(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2108.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2108.java
deleted file mode 100644
index 746beaa3f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2108.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2108
- */
-public class WSI2108 extends BP2108
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2108(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2110.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2110.java
deleted file mode 100644
index e70cc4d30..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2110.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2110
- */
-public class WSI2110 extends BP2110
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2110(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2111.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2111.java
deleted file mode 100644
index ef9286fb9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2111.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2111
- */
-public class WSI2111 extends BP2111
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2111(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2112.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2112.java
deleted file mode 100644
index ed40abe32..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2112.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2112
- */
-public class WSI2112 extends BP2112
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2112(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2113.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2113.java
deleted file mode 100644
index 0c1189792..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2113.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2113
- */
-public class WSI2113 extends BP2113
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2113(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2114.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2114.java
deleted file mode 100644
index ef55a24eb..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2114.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2114
- */
-public class WSI2114 extends BP2114
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2114(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2115.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2115.java
deleted file mode 100644
index 916ef7a3d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2115.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2115
- */
-public class WSI2115 extends BP2115
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2115(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2116.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2116.java
deleted file mode 100644
index 03358e71d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2116.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2116
- */
-public class WSI2116 extends BP2116
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2116(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2117.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2117.java
deleted file mode 100644
index 87b377cb3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2117.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2117
- */
-public class WSI2117 extends BP2117
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2117(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2118.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2118.java
deleted file mode 100644
index d6d33076b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2118.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2118
- */
-public class WSI2118 extends BP2118
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2118(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2119.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2119.java
deleted file mode 100644
index 1416ce33a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2119.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2119
- */
-public class WSI2119 extends BP2119
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2119(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2120.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2120.java
deleted file mode 100644
index 4f2e205b7..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2120.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2120
- */
-public class WSI2120 extends BP2120
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2120(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2122.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2122.java
deleted file mode 100644
index 22994ec84..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2122.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2122
- */
-public class WSI2122 extends BP2122
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2122(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2123.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2123.java
deleted file mode 100644
index 44f05a6b4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2123.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2123
- */
-public class WSI2123 extends BP2123
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2123(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2201.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2201.java
deleted file mode 100644
index 696457c71..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2201.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2201
- */
-public class WSI2201 extends BP2201
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2201(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2202.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2202.java
deleted file mode 100644
index ebb59f35f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2202.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2202
- */
-public class WSI2202 extends BP2202
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2202(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2208.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2208.java
deleted file mode 100644
index 4ed71303b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2208.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2208
- */
-public class WSI2208 extends BP2208
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2208(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2402.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2402.java
deleted file mode 100644
index 10c57852b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2402.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2402
- */
-public class WSI2402 extends BP2402
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2402(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2403.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2403.java
deleted file mode 100644
index 8facd42e0..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2403.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2403
- */
-public class WSI2403 extends SSBP2403
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2403(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2404.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2404.java
deleted file mode 100644
index 9dfa8e9c8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2404.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2404
- */
-public class WSI2404 extends BP2404
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2404(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2406.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2406.java
deleted file mode 100644
index c6d420a79..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2406.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2406
- */
-public class WSI2406 extends BP2406
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2406(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2416.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2416.java
deleted file mode 100644
index 770bf3f6b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2416.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2416
- */
-public class WSI2416 extends BP2416
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2416(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2417.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2417.java
deleted file mode 100644
index 7c2383641..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2417.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2417
- */
-public class WSI2417 extends BP2417
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2417(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2700.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2700.java
deleted file mode 100644
index 39bbb363b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2700.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2700
- */
-public class WSI2700 extends BP2700
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2700(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2701.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2701.java
deleted file mode 100644
index 4337f53d3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2701.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2701
- */
-public class WSI2701 extends BP2701
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2701(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2703.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2703.java
deleted file mode 100644
index 54637088b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2703.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI2703
- */
-public class WSI2703 extends BP2703
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2703(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4200.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4200.java
deleted file mode 100644
index ed43a7c31..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4200.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI4200
- */
-public class WSI4200 extends BP4200
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI4200(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4201.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4201.java
deleted file mode 100644
index f7233d977..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4201.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI4201
- */
-public class WSI4201 extends BP4201
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI4201(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4202.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4202.java
deleted file mode 100644
index 92d9baed5..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4202.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-/**
- * WSI4202
- */
-public class WSI4202 extends BP4202
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI4202(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ArtifactReference.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ArtifactReference.java
deleted file mode 100644
index 89899de60..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ArtifactReference.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * 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.report;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-
-/**
- * An artifact reference.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface ArtifactReference extends DocumentElement
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_ARTIFACT_REFERENCE;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_REPORT, ELEM_NAME);
-
- /**
- * Get timestamp.
- * @return timestamp.
- * @see #setTimestamp
- */
- public String getTimestamp();
-
- /**
- * Set timestamp.
- * @param timestamp a timestamp.
- * @see #getTimestamp
- */
- public void setTimestamp(String timestamp);
-
- /**
- * Get document element.
- * @return document element.
- * @see #setDocumentElement
- */
- public DocumentElement getDocumentElement();
-
- /**
- * Set document element.
- * @param documentElement document element.
- * @param namespaceName namespace prefix.
- * @see #getDocumentElement
- */
- public void setDocumentElement(
- DocumentElement documentElement,
- String namespaceName);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/AssertionResult.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/AssertionResult.java
deleted file mode 100644
index c5113e86f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/AssertionResult.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * 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.report;
-
-import java.util.Vector;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultsOption;
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-
-/**
- * Test assertion result.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface AssertionResult extends DocumentElement
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_ASSERTION_RESULT;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_REPORT, ELEM_NAME);
-
- /**
- * Result values.
- */
- public static final String RESULT_PASSED = "passed";
- public static final String RESULT_FAILED = "failed";
- public static final String RESULT_PREREQ_FAILED = "prereqFailed";
- public static final String RESULT_MISSING_INPUT = "missingInput";
- public static final String RESULT_WARNING = "warning";
- public static final String RESULT_NOT_APPLICABLE = "notApplicable";
-
- /**
- * Get result.
- * @return result.
- * @see #setResult
- */
- public String getResult();
-
- /**
- * Set result.
- * @param result the result value.
- * @see #getResult
- */
- public void setResult(String result);
-
- /**
- * Get assertion.
- * @return profile test assertion.
- * @see #setAssertion
- */
- public TestAssertion getAssertion();
-
- /**
- * Set assertion.
- * @param profileAssertion profile test assertion.
- * @see #getAssertion
- */
- public void setAssertion(TestAssertion profileAssertion);
-
- /**
- * Get entry.
- * @return entry.
- * @see #setEntry
- */
- public Entry getEntry();
-
- /**
- * Set entry.
- * @param entry an entry.
- * @see #getEntry
- */
- public void setEntry(Entry entry);
-
- /**
- * Get failure detail messages.
- * @return failure detail messages.
- * @see #setFailureDetailList
- */
- public Vector getFailureDetailList();
-
- /**
- * Set failure detail messages.
- * @param failureDetailList failure detail messages.
- * @see #getFailureDetailList
- */
- public void setFailureDetailList(Vector failureDetailList);
-
- /**
- * Get warning messages.
- * @return warning messages.
- * @see #setWarningMessages
- */
- //public Vector getWarningMessages();
-
- /**
- * Set warning messages.
- * @param warningMessages warning messages.
- * @see #getWarningMessages
- */
- //public void setWarningMessages(Vector warningMessages);
-
- /**
- * Get assertion results option.
- * @return ssertion results option.
- * @see #setAssertionResultsOption
- */
- public AssertionResultsOption getAssertionResultsOption();
-
- /**
- * Set assertion results option.
- * @param assertionResultsOption assertion results option.
- * @see #getAssertionResultsOption
- */
- public void setAssertionResultsOption(AssertionResultsOption assertionResultsOption);
-
- /**
- * Get prereq failed list.
- * @return prereq failed list.
- * @see #setPrereqFailedList
- */
- public PrereqFailedList getPrereqFailedList();
-
- /**
- * Set prereq failed list.
- * @param prereqFailedList prereq failed list.
- * @see #getPrereqFailedList
- */
- public void setPrereqFailedList(PrereqFailedList prereqFailedList);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/BuildReport.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/BuildReport.java
deleted file mode 100644
index 09dbc2fe4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/BuildReport.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * 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.report;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-
-/**
- * This interface is used to build the Profile report.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface BuildReport
-{
- /**
- * Prereq type - entry.
- */
- public static final String PREREQ_TYPE_ENTRY = "entry";
-
- /**
- * Prereq type - entry container.
- */
- public static final String PREREQ_TYPE_ENTRY_CONTAINER = "entryContainer";
-
- /**
- * Start current artifact.
- * @param reportArtifact current report artifact.
- * @throws WSIException the base WS-I exception.
- */
- public void setCurrentArtifact(ReportArtifact reportArtifact)
- throws WSIException;
-
- /**
- * Add artifact refererence.
- * @param artifactReference artifact reference.
- * @throws WSIException the base WS-I exception.
- */
- public void addArtifactReference(ArtifactReference artifactReference)
- throws WSIException;
-
- /**
- * End current artifact.
- * @throws WSIException the base WS-I exception.
- */
- public void endCurrentArtifact() throws WSIException;
-
- /**
- * Start current entry.
- * @param entry the current entry.
- * @throws WSIException the base WS-I exception.
- */
- public void setCurrentEntry(Entry entry) throws WSIException;
-
- /**
- * Start current entry.
- * @param entry the current entry.
- * @throws WSIException the base WS-I exception.
- */
- public void setCurrentEnvelopeEntry(Entry entry) throws WSIException;
- /**
- * End current entry.
- * @throws WSIException the base WS-I exception.
- */
- public void endCurrentEntry() throws WSIException;
-
- /**
- * Add test assertion result.
- * @param assertionResult test assertion result.
- * @throws WSIException the base WS-I exception.
- */
- public void addAssertionResult(AssertionResult assertionResult)
- throws WSIException;
-
- /**
- * Get the assertion result for a specific test assertion.
- * @param assertionId the test assertion ID.
- * @return the assertion result for the specified test assertion ID.
- * If an assertion result was not found, then null is returned.
- */
- public AssertionResult getAssertionResult(String assertionId);
-
- /**
- * Create assertion result.
- * @return newly created assertion result.
- */
- public AssertionResult createAssertionResult();
-
- /**
- * Create entry.
- * @return newly created entry.
- */
- public Entry createEntry();
-
- /**
- * Create entry container.
- * @return newly created entry container.
- */
- public EntryContainer createEntryContainer();
-
- /**
- * Create artifact.
- * @return newly created artifact.
- */
- public ReportArtifact createArtifact();
-
- /**
- * Create failure detail.
- * @return newly created failure detail.
- */
- public FailureDetail createFailureDetail();
-
- /**
- * Set type of prereq processing - either entry or document.
- * @param prereqType type of prereq processing - either entry or document.
- */
- public void setPrereqType(String prereqType);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/Entry.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/Entry.java
deleted file mode 100644
index e9cd89acb..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/Entry.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * 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.report;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-
-/**
- * Test assertion target.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface Entry extends EntryResult, DocumentElement
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_ENTRY;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_REPORT, ELEM_NAME);
-
- /**
- * Get assertion results option.
- */
- //public AssertionResultsOption getAssertionResultsOption();
-
- /**
- * Set assertion results option.
- */
- //public void setAssertionResultsOption(AssertionResultsOption assertionResultsOption);
-
- /**
- * Get entry type.
- * @return entry type.
- * @see #setEntryType
- */
- public EntryType getEntryType();
-
- /**
- * Set entry type.
- * @param entryType entry type.
- * @see #getEntryType
- */
- public void setEntryType(EntryType entryType);
-
- /**
- * Get artifact name.
- * @return artifact name.
- * @see #setArtifactName
- */
- public String getArtifactName();
-
- /**
- * Set artifact name.
- * @param artifactName artifact name.
- * @see #getArtifactName
- */
- public void setArtifactName(String artifactName);
-
- /**
- * Get reference ID.
- * @return reference ID.
- * @see #setReferenceID
- */
- public String getReferenceID();
-
- /**
- * Set reference ID.
- * @param referenceID referenceID.
- * @see #getReferenceID
- */
- public void setReferenceID(String referenceID);
-
- /**
- * Get parent element name.
- * @return parent element name.
- * @see #setParentElementName
- */
- public String getParentElementName();
-
- /**
- * Set parent element name.
- * @param parentElementName parent element name.
- * @see #getParentElementName
- */
- public void setParentElementName(String parentElementName);
-
- /**
- * Get entry detail.
- * @return entry detail.
- * @see #setEntryDetail
- */
- public Object getEntryDetail();
-
- /**
- * Set entry detail.
- * @param detail entry detail.
- * @see #getEntryDetail
- */
- public void setEntryDetail(Object detail);
-
- /**
- * Get entry container.
- * @return entry container.
- * @see #setEntryContainer
- */
- public EntryContainer getEntryContainer();
-
- /**
- * Set entry container.
- * @param entryContainer entry container.
- * @see #getEntryContainer
- */
- public void setEntryContainer(EntryContainer entryContainer);
-
- /**
- * Get start element string.
- * @param namespaceName namespace prefix.
- * @param showLogEntry show log entry option.
- * @return start XML element string.
- */
- public String getStartXMLString(String namespaceName, boolean showLogEntry);
-
- /**
- * Get start element string.
- * @param namespaceName namespace prefix.
- * @param showLogEntry show log entry option.
- * @return start XML element string.
- */
- public String getStartXMLString(String namespaceName, boolean showLogEntry, boolean envelopeArtifactType);
- /**
- * Get end element string.
- * @param namespaceName namespace prefix.
- * @return end XML element string.
- */
- public String getEndXMLString(String namespaceName);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/EntryContainer.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/EntryContainer.java
deleted file mode 100644
index 9991e1591..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/EntryContainer.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * 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.report;
-
-/**
- * This class represents a container which has one or more entries.
- * For example, a WSDL document contains one or more elements.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public interface EntryContainer extends EntryResult
-{
- /**
- * Get container id.
- * @return container id.
- * @see #setId
- */
- public String getId();
-
- /**
- * Set container id.
- * @param id container id.
- * @see #getId
- */
- public void setId(String id);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/EntryResult.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/EntryResult.java
deleted file mode 100644
index 77a4f576a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/EntryResult.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * 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.report;
-
-import java.util.TreeMap;
-
-/**
- * Result for a specific test assertion.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public interface EntryResult
-{
- /**
- * Add assertion result.
- * @param assertionResult assertion result.
- */
- public void addAssertionResult(AssertionResult assertionResult);
-
- /**
- * Get assertion results.
- * @return assertion results.
- */
- public TreeMap getAssertionResultList();
-
- /**
- * Get the assertion result for a specific test assertion.
- * @param assertionId test assertion id.
- * @return the assertion result for the specified test assertion ID.
- * If an assertion result was not found, then null is returned.
- */
- public AssertionResult getAssertionResult(String assertionId);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/FailureDetail.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/FailureDetail.java
deleted file mode 100644
index 4c8acb3ad..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/FailureDetail.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * 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.report;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
-
-/**
- * Failure detail.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public interface FailureDetail extends DocumentElement
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_FAILURE_DETAIL;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_REPORT, ELEM_NAME);
-
- /**
- * Get failure detail message.
- * @return failure detail message.
- * @see #setFailureMessage
- */
- public String getFailureMessage();
-
- /**
- * Set failure detail message.
- * @param failureMessage failure detail message.
- * @see #getFailureMessage
- */
- public void setFailureMessage(String failureMessage);
-
- /**
- * Get reference type.
- * @return reference type.
- * @see #setReferenceType
- */
- public String getReferenceType();
-
- /**
- * Set reference type.
- * @param referenceType reference type.
- * @see #getReferenceType
- */
- public void setReferenceType(String referenceType);
-
- /**
- * Get reference ID.
- * @return reference ID.
- * @see #setReferenceIDn
- */
- public String getReferenceID();
-
- /**
- * Set reference ID.
- * @param referenceID reference ID.
- * @see #getReferenceID
- */
- public void setReferenceIDn(String referenceID);
-
- /**
- * Get element location.
- * @return element location.
- * @see #setElementLocation
- */
- public ElementLocation getElementLocation();
-
- /**
- * Set element location.
- * @param elementLocation element location.
- * @see #getElementLocation
- */
- public void setElementLocation(ElementLocation elementLocation);
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/PrereqFailedList.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/PrereqFailedList.java
deleted file mode 100644
index 81059d363..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/PrereqFailedList.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * 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.report;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-
-/**
- * This interface is used to maintain and access the Prerequisite Failed List.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface PrereqFailedList extends DocumentElement
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_PREREQ_FAILED_LIST;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_REPORT, ELEM_NAME);
-
- /**
- * Add test assertion ID.
- * @param assertionID test assertion ID.
- */
- public void addTestAssertionID(String assertionID);
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/Report.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/Report.java
deleted file mode 100644
index 1f0ad51e7..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/Report.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * 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.report;
-
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.document.WSIDocument;
-
-/**
- * Conformance test report.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface Report extends WSIDocument, BuildReport
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_REPORT;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_REPORT, ELEM_NAME);
-
- /**
- * Get report context.
- * @return report context.
- * @see #setReportContext
- */
- public ReportContext getReportContext();
-
- /**
- * Set report context.
- * @param reportContext report context.
- * @see #getReportContext
- */
- public void setReportContext(ReportContext reportContext);
-
- /**
- * Get current artifact.
- * @return current artifact.
- */
- public ReportArtifact getCurrentArtifact();
-
- /**
- * Get current entry.
- * @return current entry.
- */
- public Entry getCurrentEntry();
-
- /**
- * Method getEntries.
- * @return entry list.
- */
- public List getEntries();
-
- /**
- * Method getArtifacts.
- * @return artifacts.
- */
- public List getArtifacts();
-
- /**
- * Get start element string.
- * @param namespaceName namespace prefix
- * @return start element string.
- */
- public String getStartXMLString(String namespaceName);
-
- /**
- * Get end element string.
- * @param namespaceName namespace prefix
- * @return end element string.
- */
- public String getEndXMLString(String namespaceName);
-
- /**
- * Get error XML string.
- * @param namespaceName namespace prefix.
- * @param errorDetail an error detail.
- * @return error XML string.
- */
- public String getErrorXMLString(String namespaceName, String errorDetail);
-
- /**
- * Get summary result.
- * @return summary result.
- */
- public String getSummaryResult();
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ReportArtifact.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ReportArtifact.java
deleted file mode 100644
index 4a1fb9ced..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ReportArtifact.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * 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.report;
-
-import java.util.TreeMap;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-import org.eclipse.wst.wsi.internal.core.util.ArtifactType;
-
-/**
- * Report artifact.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface ReportArtifact extends DocumentElement
-{
- /**
- * Element name.
- */
- public static final String ELEM_NAME = WSIConstants.ELEM_ARTIFACT;
-
- /**
- * QName.
- */
- public static final QName QNAME =
- new QName(WSIConstants.NS_URI_WSI_REPORT, ELEM_NAME);
-
- /**
- * Get artifact type.
- * @return artifact type.
- * @see #setType
- */
- public ArtifactType getType();
-
- /**
- * Set artifact type.
- * @param artifactType artifact type.
- * @see #getType
- */
- public void setType(ArtifactType artifactType);
-
- /**
- * Add entry.
- * @param entry an entry.
- */
- public void addEntry(Entry entry);
-
- /**
- * Get entry list.
- * @return entry list.
- */
- public TreeMap getEntryList();
-
- /**
- * Get start element string.
- * @param namespaceName namespace prefix.
- * @return start element string.
- */
- public String getStartXMLString(String namespaceName);
-
- /**
- * Get end element string.
- * @param namespaceName namespace prefix.
- * @return end element string.
- */
- public String getEndXMLString(String namespaceName);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ReportContext.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ReportContext.java
deleted file mode 100644
index 06507b095..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ReportContext.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * 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.report;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.analyzer.Analyzer;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions;
-
-/**
- * Report context.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class ReportContext
-{
- /**
- * Report title.
- */
- protected String reportTitle = WSIConstants.DEFAULT_REPORT_TITLE;
-
- /**
- * Profile definition.
- */
- protected ProfileAssertions profileAssertions;
-
- /**
- * Analyzer.
- */
- protected Analyzer analyzer;
-
- /**
- * Create report context.
- * @param reportTitle report title.
- * @param profileAssertions profile test assertions.
- * @param analyzer an Analyzer object.
- */
- public ReportContext(
- String reportTitle,
- ProfileAssertions profileAssertions,
- Analyzer analyzer)
- {
- this.reportTitle = reportTitle;
- this.profileAssertions = profileAssertions;
- this.analyzer = analyzer;
- }
-
- /**
- * Get report title.
- * @return report title.
- * @see #setReportTitle
- */
- public String getReportTitle()
- {
- return this.reportTitle;
- }
-
- /**
- * Set report title.
- * @param reportTitle report title.
- * @see #getReportTitle
- */
- public void setReportTitle(String reportTitle)
- {
- this.reportTitle = reportTitle;
- }
-
- /**
- * Get profile definition.
- * @return profile definition.
- * @see #setProfileAssertions
- */
- public ProfileAssertions getProfileAssertions()
- {
- return this.profileAssertions;
- }
-
- /**
- * Set profile definition.
- * @param profileAssertions profile definition.
- * @see #getProfileAssertions
- */
- public void setProfileAssertions(ProfileAssertions profileAssertions)
- {
- this.profileAssertions = profileAssertions;
- }
-
- /**
- * Get analyzer.
- * @return analyzer.
- * @see #setAnalyzer
- */
- public Analyzer getAnalyzer()
- {
- return this.analyzer;
- }
-
- /**
- * Set analyzer.
- * @param analyzer an Analyzer object.
- * @see #getAnalyzer
- *
- */
- public void setAnalyzer(Analyzer analyzer)
- {
- this.analyzer = analyzer;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ReportWriter.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ReportWriter.java
deleted file mode 100644
index ae7fc6667..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ReportWriter.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * 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.report;
-
-import java.io.Writer;
-
-import org.eclipse.wst.wsi.internal.core.document.DocumentWriter;
-
-/**
- * Defines the interface used to write the report documents.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface ReportWriter extends DocumentWriter
-{
- /**
- * Write the entire contents of the document using the location
- * that was previously set using the setLocation method.
- * @param report a report.
- * @throws IllegalStateException if this operation has been invoked
- * at an illegal or inappropriate time
- */
- public void write(Report report) throws IllegalStateException;
-
- /**
- * Write the entire contents of the document.
- * @param report a report.
- * @param writer a Writer object.
- */
- public void write(Report report, Writer writer);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/Reporter.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/Reporter.java
deleted file mode 100644
index 1ea784313..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/Reporter.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * 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.report;
-
-/**
- * Conformance test reporter interface.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface Reporter extends BuildReport, WriteReport
-{
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/WriteReport.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/WriteReport.java
deleted file mode 100644
index 8c70d9ad3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/WriteReport.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * 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.report;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-
-/**
- * This class ..
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface WriteReport
-{
- /**
- * Start conformance report.
- * @throws WSIException the base WS-I exception.
- */
- public void startReport() throws WSIException;
-
- /**
- * Finish the conformance report by adding the summary and test coverage information.
- * @throws WSIException the base WS-I exception.
- */
- public void finishReport() throws WSIException;
-
- /**
- * Finish the conformance report because of an analyzer error.
- * @param errorDetail analyzer error.
- * @throws WSIException the base WS-I exception.
- */
- public void finishReportWithError(String errorDetail) throws WSIException;
-
- /**
- * Get report.
- * @return report.
- */
- public Report getReport();
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ArtifactReferenceImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ArtifactReferenceImpl.java
deleted file mode 100644
index d4b46ba3a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ArtifactReferenceImpl.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * 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.report.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-import org.eclipse.wst.wsi.internal.core.report.ArtifactReference;
-
-/**
- * An artifact reference.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class ArtifactReferenceImpl implements ArtifactReference
-{
- /**
- * Timestamp.
- */
- protected String timestamp = null;
-
- /**
- * Optional document element.
- */
- protected DocumentElement documentElement = null;
-
- /**
- * Optional document element namespace name.
- */
- protected String elementNamespaceName = null;
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.ArtifactReference#getTimestamp()
- */
- public String getTimestamp()
- {
- return this.timestamp;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.ArtifactReference#setTimestamp(String)
- */
- public void setTimestamp(String timestamp)
- {
- this.timestamp = timestamp;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.ArtifactReference#getDocumentElement()
- */
- public DocumentElement getDocumentElement()
- {
- return this.documentElement;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.ArtifactReference#setDocumentElement(DocumentElement, String)
- */
- public void setDocumentElement(
- DocumentElement documentElement,
- String namespaceName)
- {
- this.documentElement = documentElement;
- this.elementNamespaceName = namespaceName;
- }
-
- /* (non-Javadoc)
- * Get string representation of this object.
- */
- public String toString()
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- pw.println(" Artifact Reference: ");
- pw.println(" timestamp ........... " + this.timestamp);
-
- if (this.documentElement != null)
- pw.println(
- " documentElement ..... "
- + this.documentElement.toXMLString(this.elementNamespaceName));
-
- return sw.toString();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentElement#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- // Create element
- pw.print(" <" + nsName + ELEM_NAME + " ");
- pw.println(WSIConstants.ATTR_TIMESTAMP + "=\"" + getTimestamp() + "\">");
-
- // If there is a document element, then add it
- if (this.documentElement != null)
- {
- pw.print(documentElement.toXMLString(this.elementNamespaceName));
- }
-
- // End element
- pw.println(" </" + nsName + ELEM_NAME + ">");
-
- return sw.toString();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/AssertionResultImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/AssertionResultImpl.java
deleted file mode 100644
index 5b2d8ce14..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/AssertionResultImpl.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * 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.report.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultsOption;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.AssertionResultsOptionImpl;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.report.FailureDetail;
-import org.eclipse.wst.wsi.internal.core.report.PrereqFailedList;
-
-import com.ibm.wsdl.util.xml.DOMUtils;
-
-/**
- * Test assertion result.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class AssertionResultImpl implements AssertionResult
-{
- /**
- * Assertion result.
- */
- protected String result = null;
-
- /**
- * Entry.
- */
- protected Entry entry = null;
-
- /**
- * Profile test assertion.
- */
- protected TestAssertion testAssertion = null;
-
- /**
- * Failure detail messages.
- */
- protected Vector failureDetailList = null;
-
- /**
- * Assertion results option.
- */
- protected AssertionResultsOption assertionResultsOption =
- new AssertionResultsOptionImpl();
-
- /**
- * Prereq failed list.
- */
- protected PrereqFailedList prereqFailedList = null;
-
- /**
- * Create a new assertion result.
- */
- public AssertionResultImpl()
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.AssertionResult#getResult()
- */
- public String getResult()
- {
- return this.result;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.AssertionResult#setResult(java.lang.String)
- */
- public void setResult(String result)
- {
- this.result = result;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.AssertionResult#getAssertion()
- */
- public TestAssertion getAssertion()
- {
- return this.testAssertion;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.AssertionResult#setAssertion(org.wsi.test.profile.TestAssertion)
- */
- public void setAssertion(TestAssertion testAssertion)
- {
- this.testAssertion = testAssertion;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.AssertionResult#getEntry()
- */
- public Entry getEntry()
- {
- return this.entry;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.AssertionResult#setEntry(org.wsi.test.report.Entry)
- */
- public void setEntry(Entry entry)
- {
- this.entry = entry;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.AssertionResult#getFailureDetailList()
- */
- public Vector getFailureDetailList()
- {
- return this.failureDetailList;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.AssertionResult#setFailureDetailList(java.util.Vector)
- */
- public void setFailureDetailList(Vector failureDetailList)
- {
- this.failureDetailList = failureDetailList;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.AssertionResult#getAssertionResultsOption()
- */
- public AssertionResultsOption getAssertionResultsOption()
- {
- return this.assertionResultsOption;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.AssertionResult#setAssertionResultsOption(org.wsi.test.analyzer.config.AssertionResultsOption)
- */
- public void setAssertionResultsOption(AssertionResultsOption assertionResultsOption)
- {
- this.assertionResultsOption = assertionResultsOption;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.AssertionResult#getPrereqFailedList()
- */
- public PrereqFailedList getPrereqFailedList()
- {
- return this.prereqFailedList;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.AssertionResult#setPrereqFailedList(org.wsi.test.report.PrereqFailedList)
- */
- public void setPrereqFailedList(PrereqFailedList prereqFailedList)
- {
- this.prereqFailedList = prereqFailedList;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentElement#toXMLString(java.lang.String)
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- // Create element
- pw.print(" <" + nsName + ELEM_NAME + " ");
- pw.print(WSIConstants.ATTR_ID + "=\"" + this.testAssertion.getId() + "\" ");
- pw.println(WSIConstants.ATTR_RESULT + "=\"" + this.result + "\">");
-
- // ADD: Add support for additional targets
-
- // Add prereq failed list
- if (this.prereqFailedList != null)
- {
- pw.print(prereqFailedList.toXMLString(nsName));
- }
-
- // ADD: Add support for multiple languages
- // If result is failed or warning, then add failure message
- if ((result.equals(RESULT_FAILED) || result.equals(RESULT_WARNING))
- && (assertionResultsOption.getShowFailureMessage()))
- {
- pw.print(
- " <"
- + nsName
- + WSIConstants.ELEM_FAILURE_MESSAGE
- + " xml:lang=\"en\">");
- pw.print(DOMUtils.cleanString(this.testAssertion.getFailureMessage()));
- pw.println("</" + nsName + WSIConstants.ELEM_FAILURE_MESSAGE + ">");
- }
-
- // ADD: Add support for multiple languages
- // If any failure detail messages were specified, then add them
- if ((failureDetailList != null)
- && (assertionResultsOption.getShowFailureDetail()))
- {
- Iterator iterator = failureDetailList.iterator();
- while (iterator.hasNext())
- {
- pw.print(((FailureDetail) iterator.next()).toXMLString(nsName));
- }
- }
-
- // End the element
- pw.println(" </" + nsName + ELEM_NAME + ">");
-
- // Return string
- return sw.toString();
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- public String toString()
- {
- return result;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/DefaultReporter.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/DefaultReporter.java
deleted file mode 100644
index bffdc339a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/DefaultReporter.java
+++ /dev/null
@@ -1,287 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2003 IBM Corporation, Parasoft 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
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.report.impl;
-
-import java.io.StringReader;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultType;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.report.ArtifactReference;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.report.EntryContainer;
-import org.eclipse.wst.wsi.internal.core.report.FailureDetail;
-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.ReportWriter;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-
-/**
- * Base class for reporting errors from the analyzer.
- * Extend this class for specific types of reporting, such as reporting
- * in different formats, reporting to files, reporting to a GUI.
- *
- * @version 1.0.1
- * @author Jim Clune
- * @author Peter Brittenham
- */
-public class DefaultReporter implements Reporter
-{
- /**
- * Conformance report.
- */
- protected Report report;
-
- /**
- * Document writer.
- */
- protected ReportWriter reportWriter;
-
- /**
- * Analyzer config.
- */
- protected AnalyzerConfig analyzerConfig;
-
- /**
- * Assertoin result type.
- */
- protected AssertionResultType assertionResultType;
-
- /**
- * Do not allow the reporter to be created with null constructor.
- */
- private DefaultReporter()
- {
- }
-
- /**
- * Create result reporter.
- * @param report a Report object.
- * @param reportWriter a ReportWriterObject.
- */
- public DefaultReporter(Report report, ReportWriter reportWriter)
- {
- this.report = report;
- this.reportWriter = reportWriter;
-
- // ADD: Verify that writer set in reportWriter
-
- // Get report context
- this.analyzerConfig =
- report.getReportContext().getAnalyzer().getAnalyzerConfig();
- this.assertionResultType =
- this.analyzerConfig.getAssertionResultsOption().getAssertionResultType();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.BuildReport#setCurrentArtifact(org.wsi.test.report.ReportArtifact)
- */
- public void setCurrentArtifact(ReportArtifact reportArtifact)
- throws WSIException
- {
- report.setCurrentArtifact(reportArtifact);
- reportWriter.write(new StringReader(reportArtifact.getStartXMLString("")));
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.BuildReport#endCurrentArtifact()
- */
- public void endCurrentArtifact() throws WSIException
- {
- reportWriter.write(
- new StringReader(report.getCurrentArtifact().getEndXMLString("")));
- report.endCurrentArtifact();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.BuildReport#addArtifactReference(org.wsi.test.report.ArtifactReference)
- */
- public void addArtifactReference(ArtifactReference artifactReference)
- throws WSIException
- {
- reportWriter.write(new StringReader(artifactReference.toXMLString("")));
-
- // Add artifact reference to report
- report.addArtifactReference(artifactReference);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.BuildReport#setCurrentEntry(org.wsi.test.report.Entry)
- */
- public void setCurrentEntry(Entry entry) throws WSIException
- {
- report.setCurrentEntry(entry);
- reportWriter.write(
- new StringReader(
- entry.getStartXMLString(
- "",
- this
- .report
- .getReportContext()
- .getAnalyzer()
- .getAnalyzerConfig()
- .getAssertionResultsOption()
- .getShowMessageEntry())));
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.BuildReport#setCurrentEntry(org.wsi.test.report.Entry)
- */
- public void setCurrentEnvelopeEntry(Entry entry) throws WSIException
- {
- report.setCurrentEntry(entry);
- reportWriter.write(
- new StringReader(
- entry.getStartXMLString(
- "",
- this
- .report
- .getReportContext()
- .getAnalyzer()
- .getAnalyzerConfig()
- .getAssertionResultsOption()
- .getShowMessageEntry(),
- true)));
- }
-/* (non-Javadoc)
- * @see org.wsi.test.report.BuildReport#endCurrentEntry()
- */
- public void endCurrentEntry() throws WSIException
- {
- reportWriter.write(
- new StringReader(report.getCurrentEntry().getEndXMLString("")));
- report.endCurrentEntry();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.BuildReport#addAssertionResult(org.wsi.test.report.AssertionResult)
- */
- public void addAssertionResult(AssertionResult assertionResult)
- throws WSIException
- {
- // Based on the config options, write out assertion result
- if ((assertionResultType.isAll())
- || ((assertionResultType.isFailedOnly())
- && (assertionResult.getResult().equals(AssertionResult.RESULT_FAILED)))
- || ((assertionResultType.isNotPassed())
- && (!assertionResult.getResult().equals(AssertionResult.RESULT_PASSED)))
- || ((assertionResultType.isNotInfo())
- && (!assertionResult.getAssertion().getType().equals(TestAssertion.TYPE_INFORMATIONAL))))
- {
- reportWriter.write(new StringReader(assertionResult.toXMLString("")));
- }
-
- // Add assertion to report
- report.addAssertionResult(assertionResult);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.BuildReport#getAssertionResult(java.lang.String)
- */
- public AssertionResult getAssertionResult(String assertionId)
- {
- // Get the assertion result from the current assertion target
- return report.getAssertionResult(assertionId);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.WriteReport#startReport()
- */
- public void startReport() throws WSIException
- {
- // Write out start of report
- reportWriter.write(new StringReader(report.getStartXMLString("")));
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.WriteReport#finishReport()
- */
- public void finishReport() throws WSIException
- {
- // End the report file
- reportWriter.write(new StringReader(report.getEndXMLString("")));
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.WriteReport#finishReportWithError(java.lang.String)
- */
- public void finishReportWithError(String errorDetail) throws WSIException
- {
- // Check if entry or artifact need to be closed
- if (this.report.getCurrentEntry() != null)
- endCurrentEntry();
- if (this.report.getCurrentArtifact() != null)
- endCurrentArtifact();
-
- // End the report file
- reportWriter.write(
- new StringReader(report.getErrorXMLString("", errorDetail)));
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.BuildReport#createAssertionResult()
- */
- public AssertionResult createAssertionResult()
- {
- return report.createAssertionResult();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.BuildReport#createArtifact()
- */
- public ReportArtifact createArtifact()
- {
- return report.createArtifact();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.BuildReport#createEntry()
- */
- public Entry createEntry()
- {
- return report.createEntry();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.BuildReport#createEntryContainer()
- */
- public EntryContainer createEntryContainer()
- {
- return report.createEntryContainer();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.BuildReport#createFailureDetail()
- */
- public FailureDetail createFailureDetail()
- {
- return report.createFailureDetail();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.WriteReport#getReport()
- */
- public Report getReport()
- {
- return this.report;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.BuildReport#setPrereqType(java.lang.String)
- */
- public void setPrereqType(String prereqType)
- {
- this.report.setPrereqType(prereqType);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/EntryContainerImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/EntryContainerImpl.java
deleted file mode 100644
index 956d086db..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/EntryContainerImpl.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2003 IBM Corporation, Parasoft 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
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.report.impl;
-
-import org.eclipse.wst.wsi.internal.core.report.EntryContainer;
-
-/**
- * This class represents a container for one or more entries.
- * An example would be a WSDL document.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class EntryContainerImpl
- extends EntryResultImpl
- implements EntryContainer
-{
- /**
- * Container ID.
- */
- protected String id;
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.EntryContainer#getId()
- */
- public String getId()
- {
- return this.id;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.EntryContainer#setId(String)
- */
- public void setId(String id)
- {
- this.id = id;
- }
-
- /**
- * Return string representation of this object.
- */
- public String toString()
- {
- return "[" + this.id + "] " + this.assertionResultList;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/EntryImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/EntryImpl.java
deleted file mode 100644
index e91a1b7ef..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/EntryImpl.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*******************************************************************************
- * 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.report.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.report.EntryContainer;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-
-/**
- * This class represents an entry in a report.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class EntryImpl extends EntryResultImpl implements Entry
-{
- /**
- * Entry type.
- */
- protected EntryType entryType = null;
-
- /**
- * Artifact name (optional).
- */
- protected String artifactName = null;
-
- /**
- * Reference ID.
- */
- protected String referenceID = null;
-
- /**
- * Parent element name (only used when entry type is "port" or "operation").
- */
- protected String parentElementName = null;
-
- /**
- * Entry detail object.
- */
- protected Object entryDetail = null;
-
- /**
- * Entry container.
- */
- protected EntryContainer entryContainer = null;
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.Entry#getEntryType()
- */
- public EntryType getEntryType()
- {
- return this.entryType;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.Entry#setEntryType(EntryType)
- */
- public void setEntryType(EntryType entryType)
- {
- this.entryType = entryType;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.Entry#getArtifactName()
- */
- public String getArtifactName()
- {
- return this.artifactName;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.Entry#setArtifactName(java.lang.String)
- */
- public void setArtifactName(String artifactName)
- {
- this.artifactName = artifactName;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.Entry#getReferenceID()
- */
- public String getReferenceID()
- {
- return this.referenceID;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.Entry#setReferenceID(String)
- */
- public void setReferenceID(String referenceID)
- {
- this.referenceID = referenceID;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.Entry#getParentElementName()
- */
- public String getParentElementName()
- {
- return this.parentElementName;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.Entry#setParentElementName(String)
- */
- public void setParentElementName(String parentElementName)
- {
- this.parentElementName = parentElementName;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.Entry#getEntryDetail()
- */
- public Object getEntryDetail()
- {
- return this.entryDetail;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.Entry#setEntryDetail(Object)
- */
- public void setEntryDetail(Object entryDetail)
- {
- this.entryDetail = entryDetail;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.Entry#getEntryContainer()
- */
- public EntryContainer getEntryContainer()
- {
- return this.entryContainer;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.Entry#setEntryContainer(org.wsi.test.report.EntryContainer)
- */
- public void setEntryContainer(EntryContainer entryContainer)
- {
- this.entryContainer = entryContainer;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.EntryResult#addAssertionResult(AssertionResult)
- */
- public void addAssertionResult(AssertionResult assertionResult)
- {
- super.addAssertionResult(assertionResult);
-
- if (this.entryContainer != null)
- this.entryContainer.addAssertionResult(assertionResult);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.Entry#getStartXMLString(String)
- */
- public String getStartXMLString(String namespaceName, boolean showLogEntry, boolean envelopeArtifactType)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- // Create element
- pw.print(" <" + nsName + ELEM_NAME + " ");
-
- if (this.entryType != null)
- {
- if (envelopeArtifactType)
- {
- // we use the same actual entry for both message and envelope artifacts
- // we now need to output entry type names that actually pertain to the artifact type
- pw.print(
- WSIConstants.ATTR_TYPE + "=\"" + getCorrespondingEnvelopeEntryTypeName(this.entryType.getTypeName()) + "\" ");
- }
- else
- {
- pw.print(
- WSIConstants.ATTR_TYPE + "=\"" + this.entryType.getTypeName() + "\" ");
- }
- }
-
- else if (this.artifactName != null)
- {
- pw.print(WSIConstants.ATTR_TYPE + "=\"[" + this.artifactName + "]\" ");
- }
-
- if (this.referenceID != null)
- pw.print(
- WSIConstants.ATTR_REFERENCE_ID + "=\"" + XMLUtils.xmlEscapedString(this.referenceID) + "\"");
-
- // If service name was set then add it
- //if (parentElementName != null) {
- // pw.print(" " + WSIConstants.ATTR_PARENT_ELEMENT_NAME + "=\"" + this.parentElementName + "\"");
- //}
-
- // End element
- pw.println(">");
-
- // ADD: Need to check for config option that specifies
- // that log entries should be added
-
- // If target is a log entry, then add reference to it
- if ((entryType != null)
- && (entryType.getArtifactType().isMessages())
- && (showLogEntry))
- {
- MessageEntry logEntry = (MessageEntry) entryDetail;
- pw.println(logEntry.toXMLString(WSIConstants.NS_NAME_WSI_LOG));
- }
-
- return sw.toString();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.Entry#getStartXMLString(String)
- */
- public String getStartXMLString(String namespaceName, boolean showLogEntry)
- {
- return getStartXMLString(namespaceName, showLogEntry, false);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.Entry#getEndXMLString(String)
- */
- public String getEndXMLString(String namespaceName)
- {
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- return " </" + nsName + ELEM_NAME + ">";
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentElement#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- // Return string
- return getStartXMLString("", false) + getEndXMLString("");
- }
-
- public String getCorrespondingEnvelopeEntryTypeName(String messageEntryTypeName)
- {
- String envelopeEntryTypeName = messageEntryTypeName;
- if (messageEntryTypeName != null)
- {
- if (messageEntryTypeName.equals(EntryType.TYPE_MESSAGE_ANY))
- envelopeEntryTypeName = EntryType.TYPE_ENVELOPE_ANY;
- else if (messageEntryTypeName.equals(EntryType.TYPE_MESSAGE_REQUEST))
- envelopeEntryTypeName = EntryType.TYPE_ENVELOPE_REQUEST;
- else if (messageEntryTypeName.equals(EntryType.TYPE_MESSAGE_RESPONSE))
- envelopeEntryTypeName = EntryType.TYPE_ENVELOPE_RESPONSE;
- }
-
- return envelopeEntryTypeName;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/EntryResultImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/EntryResultImpl.java
deleted file mode 100644
index 61ffb72d9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/EntryResultImpl.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * 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.report.impl;
-
-import java.util.TreeMap;
-
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.report.EntryResult;
-
-/**
- * Result for a specific test assertion.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public abstract class EntryResultImpl implements EntryResult
-{
- /**
- * Assertion result list.
- */
- protected TreeMap assertionResultList = new TreeMap();
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.EntryResult#addAssertionResult(org.wsi.test.report.AssertionResult)
- */
- public void addAssertionResult(AssertionResult assertionResult)
- {
- this.assertionResultList.put(
- assertionResult.getAssertion().getId(),
- assertionResult);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.EntryResult#getAssertionResultList()
- */
- public TreeMap getAssertionResultList()
- {
- return assertionResultList;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.EntryResult#getAssertionResult(String)
- */
- public AssertionResult getAssertionResult(String assertionId)
- {
- return (AssertionResult) assertionResultList.get(assertionId);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/FailureDetailImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/FailureDetailImpl.java
deleted file mode 100644
index dc7dc5143..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/FailureDetailImpl.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * 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.report.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.report.FailureDetail;
-import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
-
-import com.ibm.wsdl.util.xml.DOMUtils;
-
-/**
- * This class will ...
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class FailureDetailImpl implements FailureDetail
-{
- protected String failureMessage = null;
- protected String referenceType = null;
- protected String referenceID = null;
- protected ElementLocation elementLocation = null;
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.FailureDetail#getFailureMessage()
- */
- public String getFailureMessage()
- {
- return this.failureMessage;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.FailureDetail#setFailureMessage(String)
- */
- public void setFailureMessage(String failureMessage)
- {
- this.failureMessage = failureMessage;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.FailureDetail#getReferenceType()
- */
- public String getReferenceType()
- {
- return this.referenceType;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.FailureDetail#setReferenceType(String)
- */
- public void setReferenceType(String referenceType)
- {
- this.referenceType = referenceType;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.FailureDetail#getReferenceID()
- */
- public String getReferenceID()
- {
- return this.referenceID;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.FailureDetail#setReferenceIDn(String)
- */
- public void setReferenceIDn(String referenceID)
- {
- this.referenceID = referenceID;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.FailureDetail#getElementLocation()
- */
- public ElementLocation getElementLocation()
- {
- return this.elementLocation;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.FailureDetail#setElementLocation(ElementLocation)
- */
- public void setElementLocation(ElementLocation elementLocation)
- {
- this.elementLocation = elementLocation;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentElement#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- // Create element
- pw.print(" <" + nsName + ELEM_NAME + " xml:lang=\"en\" ");
-
- if (this.referenceType != null)
- pw.print(
- WSIConstants.ATTR_REFERENCE_TYPE + "=\"" + this.referenceType + "\" ");
-
- if (this.referenceID != null)
- pw.print(
- WSIConstants.ATTR_REFERENCE_ID + "=\"" + this.referenceID + "\" ");
-
- // ADD: Need to use a different namespace
- /*
- if (this.elementLocation != null) {
- String nsNameExt = "reportext";
- pw.print("xmlns:" + nsNameExt + "=\"" + WSIConstants.NS_URI_WSI_REPORT + "/ext/\"");
- pw.print(nsNameExt + ":" + WSIConstants.ATTR_LINE_NUMBER + "=\"" + this.elementLocation.getLineNumber() + "\" ");
- pw.print(nsNameExt + ":" + WSIConstants.ATTR_COLUMN_NUMBER + "=\"" + this.elementLocation.getColumnNumber() + "\" ");
- }
- */
-
- // Close start element
- pw.print(">");
-
- if (this.failureMessage != null)
- pw.println(DOMUtils.cleanString(this.failureMessage));
-
- if (this.elementLocation != null)
- {
- pw.println(" ");
- pw.print(this.elementLocation.toString());
- }
-
- // End the element
- pw.println(" </" + nsName + ELEM_NAME + ">");
-
- // Return string
- return sw.toString();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/PrereqFailedListImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/PrereqFailedListImpl.java
deleted file mode 100644
index eb1de2051..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/PrereqFailedListImpl.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * 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.report.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.report.PrereqFailedList;
-
-/**
- * This interface is used to maintain and access the Prerequisite Failed List.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class PrereqFailedListImpl implements PrereqFailedList
-{
- /**
- * List of test assertion IDs.
- */
- protected Vector idList = new Vector();
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.PrereqFailedList#addTestAssertionID(java.lang.String)
- */
- public void addTestAssertionID(String assertionID)
- {
- idList.add(assertionID);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentElement#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- if (this.idList.size() > 0)
- {
- // Create element
- pw.println(" <" + nsName + ELEM_NAME + ">");
-
- // Include each test assertion ID
- Iterator iterator = idList.iterator();
- while (iterator.hasNext())
- {
- pw.print(
- " <" + nsName + WSIConstants.ELEM_TEST_ASSERTION_ID + ">");
- pw.print((String) iterator.next());
- pw.println("</" + nsName + WSIConstants.ELEM_TEST_ASSERTION_ID + ">");
- }
-
- // End element
- pw.println(" </" + nsName + ELEM_NAME + ">");
- }
-
- return sw.toString();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportArtifactImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportArtifactImpl.java
deleted file mode 100644
index 44299b8fc..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportArtifactImpl.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * 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.report.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.TreeMap;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.util.ArtifactType;
-
-/**
- * This class contains a report artifact.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class ReportArtifactImpl implements ReportArtifact
-{
- /**
- * Artifact type.
- */
- protected ArtifactType artifactType = null;
-
- /**
- * Entries.
- */
- protected TreeMap entryList = new TreeMap();
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.ReportArtifact#getType()
- */
- public ArtifactType getType()
- {
- return this.artifactType;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.ReportArtifact#setType(ArtifactType)
- */
- public void setType(ArtifactType artifactType)
- {
- this.artifactType = artifactType;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.ReportArtifact#addEntry(Entry)
- */
- public void addEntry(Entry entry)
- {
- // Add entry
- if (entry.getEntryType() != null)
- this.entryList.put(entry.getEntryType().getTypeName(), entry);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.ReportArtifact#getEntryList()
- */
- public TreeMap getEntryList()
- {
- return this.entryList;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.ReportArtifact#getStartXMLString(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 element
- pw.print(" <" + nsName + ELEM_NAME + " ");
- pw.print(
- WSIConstants.ATTR_TYPE + "=\"" + this.artifactType.getTypeName() + "\">");
-
- return sw.toString();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.ReportArtifact#getEndXMLString(String)
- */
- public String getEndXMLString(String namespaceName)
- {
- String nsName = namespaceName;
- if ((!nsName.equals("") && (!nsName.endsWith(":"))))
- nsName += ":";
-
- return " </" + nsName + ELEM_NAME + ">";
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentElement#toXMLString(String)
- */
- public String toXMLString(String namespaceName)
- {
- // Return string
- return getStartXMLString("") + getEndXMLString("");
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportImpl.java
deleted file mode 100644
index 7db12f01c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportImpl.java
+++ /dev/null
@@ -1,514 +0,0 @@
-/*******************************************************************************
- * 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.report.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.Log;
-import org.eclipse.wst.wsi.internal.core.report.ArtifactReference;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.report.EntryContainer;
-import org.eclipse.wst.wsi.internal.core.report.FailureDetail;
-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.util.TestUtils;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.eclipse.wst.wsi.internal.core.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);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportWriterImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportWriterImpl.java
deleted file mode 100644
index 73eeb3525..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportWriterImpl.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * 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.report.impl;
-
-import java.io.PrintWriter;
-import java.io.Writer;
-
-import org.eclipse.wst.wsi.internal.core.document.impl.DocumentWriterImpl;
-import org.eclipse.wst.wsi.internal.core.report.Report;
-import org.eclipse.wst.wsi.internal.core.report.ReportWriter;
-
-/**
- * Defines the interface used to write the Conformance XML documents.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class ReportWriterImpl
- extends DocumentWriterImpl
- implements ReportWriter
-{
- /**
- * Report writer.
- */
- public ReportWriterImpl()
- {
- }
-
- /**
- * Write the entire contents of the document using the writer
- * that was previously set using the setWriter method.
- */
- public void write(Report report) throws IllegalStateException
- {
- // If writer was not set previously, then throw exception
- if (writer == null)
- {
- throw new IllegalStateException("Report writer must be set before writing report.");
- }
-
- // Write report
- write(report, this.writer);
- }
-
- /**
- * Write the entire contents of the document.
- */
- public void write(Report report, Writer writer)
- {
- // Create print writer
- new PrintWriter(writer);
-
- // ADD: Write out complete report
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/toolinfo.properties b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/toolinfo.properties
deleted file mode 100644
index a1304c5b9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/toolinfo.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-# /**
-# * <copyright>
-# *
-# * Copyright (c) 2002-2003 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
-# * </copyright>
-# */
-
-wsi.tool.version=1.0.0
-wsi.tool.release.date=2005-04-15
-wsi.tool.implementer=Eclipse.org Organization
-wsi.tool.location=http://www.eclipse.org/wst
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/ArtifactType.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/ArtifactType.java
deleted file mode 100644
index 80bdd4c56..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/ArtifactType.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-/**
- * This class ...
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class ArtifactType
-{
- /**
- * This type.
- */
- private String type;
-
- /**
- * ReportArtifact types.
- */
- public static final String TYPE_ENVELOPE = "envelope";
- public static final String TYPE_MESSAGE = "message";
- public static final String TYPE_DESCRIPTION = "description";
- public static final String TYPE_DISCOVERY = "discovery";
-
- /**
- * ReportArtifact types.
- */
- public static final ArtifactType ARTIFACT_TYPE_ENVELOPE =
- new ArtifactType(TYPE_ENVELOPE);
- public static final ArtifactType ARTIFACT_TYPE_MESSAGE =
- new ArtifactType(TYPE_MESSAGE);
- public static final ArtifactType ARTIFACT_TYPE_DESCRIPTION =
- new ArtifactType(TYPE_DESCRIPTION);
- public static final ArtifactType ARTIFACT_TYPE_DISCOVERY =
- new ArtifactType(TYPE_DISCOVERY);
-
- /**
- * Create artifact type.
- */
- private ArtifactType(String type)
- {
- this.type = type;
- }
-
- /**
- * Is artifact type envelope.
- * @return true if artifact type envelope.
- */
- public boolean isEnvelope()
- {
- return type.equals(TYPE_ENVELOPE);
- }
-
- /**
- * Is artifact type messages.
- * @return true if artifact type messages.
- */
- public boolean isMessages()
- {
- return type.equals(TYPE_MESSAGE);
- }
-
- /**
- * Is artifact type description.
- * @return true if artifact type description.
- */
- public boolean isDescription()
- {
- return type.equals(TYPE_DESCRIPTION);
- }
-
- /**
- * Is artifact type discovery.
- * @return true if artifact type discovery.
- */
- public boolean isDiscovery()
- {
- return type.equals(TYPE_DISCOVERY);
- }
-
- /**
- * Get artifact type.
- * @return artifact type.
- */
- public String getTypeName()
- {
- return type;
- }
-
- /**
- * Create artifact type.
- * @param typeName artifact type name.
- * @return newly created artifact type.
- * @throws RuntimeException if artifact type name is invalid or inappropriate.
- */
- public static final ArtifactType newArtifactType(String typeName)
- throws RuntimeException
- {
- ArtifactType artifactType = null;
-
- if (typeName.equals(TYPE_DESCRIPTION))
- {
- artifactType = ARTIFACT_TYPE_DESCRIPTION;
- }
-
- else if (typeName.equals(TYPE_MESSAGE))
- {
- artifactType = ARTIFACT_TYPE_MESSAGE;
- }
-
- else if (typeName.equals(TYPE_ENVELOPE))
- {
- artifactType = ARTIFACT_TYPE_ENVELOPE;
- }
-
- else if (typeName.equals(TYPE_DISCOVERY))
- {
- artifactType = ARTIFACT_TYPE_DISCOVERY;
- }
-
- else
- {
- throw new RuntimeException(
- "Could not create new artifact type using invalid type name: "
- + typeName
- + ".");
- }
-
- return artifactType;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/BasicRules.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/BasicRules.java
deleted file mode 100644
index d232b0e4b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/BasicRules.java
+++ /dev/null
@@ -1,477 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-/**
- * This class validates basic constructs of RFC 2616.
- *
- * @author Volodin
- */
-public class BasicRules
-{
-
- public static final char CR = 13;
- public static final char LF = 10;
- public static final char SP = 32;
- public static final char HT = 9;
- public static final char DQ = 34;
- public static final String CRLF = "" + CR + LF;
-
- public static final char[] SEPARATORS =
- {
- '(',
- ')',
- '<',
- '>',
- '@',
- ',',
- ';',
- ':',
- '\\',
- '\"',
- '/',
- '[',
- ']',
- '?',
- '=',
- '{',
- '}',
- SP,
- HT };
-
- /**
- * Checking rule.
- * OCTET = &lt;any 8-bit sequence of data&gt;
- * @param ch character.
- * @return boolean true if ch is conform to rule, false otherwise.
- */
- public static boolean isOCTET(char ch)
- {
- return true;
- }
-
- /**
- * Checking rule:
- * CHAR = &lt;any US-ASCII character (octets 0 - 127)&gt;.
- * @param ch character.
- * @return boolean true if ch is conform to rule, false otherwise.
- */
- public static boolean isCHAR(char ch)
- {
- return (ch >= 0 && ch <= 127) ? true : false;
- }
-
- /**
- * Checking rule:
- * UPALPHA = &lt;any US-ASCII uppercase letter "A".."Z"&gt;.
- * @param ch character.
- * @return boolean true if ch is conform to rule, false otherwise.
- */
- public static boolean isUPALPHA(char ch)
- {
- return (ch >= 'A' && ch <= 'Z') ? true : false;
- }
-
- /**
- * Checking rule:
- * LOALPHA = &lt;any US-ASCII lowercase letter "a".."z"&gt;.
- * @param ch character.
- * @return boolean true if ch is conform to rule, false otherwise.
- */
- public static boolean isLOALPHA(char ch)
- {
- return (ch >= 'a' && ch <= 'z') ? true : false;
- }
-
- /**
- * Checking rule:
- * ALPHA = UPALPHA | LOALPHA.
- * @param ch character.
- * @return boolean true if ch is conform to rule, false otherwise.
- */
- public static boolean isALPHA(char ch)
- {
- return (isLOALPHA(ch) || isUPALPHA(ch)) ? true : false;
- }
-
- /**
- * Checking rule:
- * DIGIT = &lt;any US-ASCII digit "0".."9"&gt;.
- * @param ch character.
- * @return boolean true if ch is conform to rule, false otherwise.
- */
- public static boolean isDIGIT(char ch)
- {
- return (ch >= '0' && ch <= '9') ? true : false;
- }
-
- /**
- * Checking rule:
- * CTL = &lt;any US-ASCII control character (octets 0 - 31) and DEL (127)&gt;.
- * @param ch character.
- * @return boolean true if ch is conform to rule, false otherwise.
- */
- public static boolean isCTL(char ch)
- {
- return ((ch >= 0 && ch <= 31) || ch == 127) ? true : false;
- }
-
- /**
- * Checking rule:
- * CR = &lt;US-ASCII CR, carriage return (13)&gt;.
- * @param ch character.
- * @return boolean true if ch is conform to rule, false otherwise.
- */
- public static boolean isCR(char ch)
- {
- return (ch == CR) ? true : false;
- }
-
- /**
- * Checking rule:
- * LF = &lt;US-ASCII LF, linefeed (10)&gt;.
- * @param ch character
- * @return boolean true if ch is conform to rule, false otherwise
- */
- public static boolean isLF(char ch)
- {
- return (ch == LF) ? true : false;
- }
-
- /**
- * Checking rule:
- * SP = &lt;US-ASCII SP, space (32)&gt;.
- * @param ch character.
- * @return boolean true if ch is conform to rule, false otherwise.
- */
- public static boolean isSP(char ch)
- {
- return (ch == SP) ? true : false;
- }
-
- /**
- * Checking rule:
- * HT = &lt;US-ASCII HT, horizontal-tab (9)&gt;.
- * @param ch character
- * @return boolean true if ch is conform to rule, false otherwise
- */
- public static boolean isHT(char ch)
- {
- return (ch == HT) ? true : false;
- }
-
- /**
- * Checking rule:
- * &lt;"&gt; = &lt;US-ASCII double-quote mark (34)&gt;.
- * @param ch character.
- * @return boolean true if ch is conform to rule, false otherwise.
- */
- public static boolean isDoubleQuote(char ch)
- {
- return (ch == DQ) ? true : false;
- }
-
- /**
- * Checking rule:
- * CRLF = CR LF.
- * @param str string.
- * @return boolean true if ch is conform to rule, false otherwise.
- */
- public static boolean isCRLF(String str)
- {
- return CRLF.equals(str);
- }
-
- /**
- * Checking rule:
- * LWS = [CRLF] 1*( SP | HT ).
- * @param str string.
- * @return boolean true if str is conform to rule, false otherwise.
- */
- public static boolean isLWS(String str)
- {
-
- int index = getLastIndexLWS(str, 0);
- if (index == -1 || index != str.length())
- return false;
-
- return true;
- }
-
- /**
- * Gets last index of the LWS string.
- * @param str string.
- * @param startIndex start index.
- * @return int an index of the first symbol which isn't LWS.
- */
- public static int getLastIndexLWS(String str, int startIndex)
- {
- int index = str.indexOf(CRLF, startIndex);
- if (index == -1)
- index = startIndex;
- else if (index == startIndex)
- index += CRLF.length();
- else
- return -1;
-
- if (!isSP(str.charAt(index)) && isHT(str.charAt(index)))
- return -1;
-
- index++;
- for (; index < str.length(); index++)
- if (!isSP(str.charAt(index)) && isHT(str.charAt(index)))
- return index;
- return index;
- }
-
- /**
- * Gets last index of the TEXT string.
- * TEXT = &lt;any OCTET except CTLs, but including LWS&gt;
- * @param str string.
- * @param startIndex start index.
- * @return int an index of the first symbol which isn't TEXT.
- */
- public static int getLastTEXT(String str, int startIndex)
- {
- int index;
- for (index = startIndex; index < str.length(); index++)
- {
- if (!isOCTET(str.charAt(index)))
- return index;
- if (isCTL(str.charAt(index)))
- {
- int lastLWS = getLastIndexLWS(str, index);
- if (lastLWS == -1)
- return index;
- index = lastLWS - 1;
- }
- }
- return index;
- }
-
- /**
- * Checking rule:
- * HEX = "A" | "B" | "C" | "D" | "E" | "F" | "a" | "b" | "c" | "d" | "e" | "f" | DIGIT.
- * @param ch character.
- * @return boolean true if ch is conform to rule, false otherwise.
- */
- public static boolean isHEX(char ch)
- {
- return (
- (ch >= 'A' && ch <= 'F') || (ch >= 'a' && ch <= 'f') || isDIGIT(ch))
- ? true
- : false;
- }
-
- /**
- * Checking rule:
- * token = 1*&lt;any CHAR except CTLs or separators&gt;.
- * @param str string.
- * @return boolean true if str is conform to rule, false otherwise.
- */
- public static boolean isToken(String str)
- {
- if (str.length() == 0)
- return false;
-
- for (int index = 0; index < str.length(); index++)
- {
- char ch = str.charAt(index);
- if (!isCHAR(ch) || isSEPARATOR(ch) || isCTL(ch))
- return false;
-
- }
-
- return true;
- }
-
- /**
- * Gets last index of the "token" string.
- * @param str string.
- * @param startIndex start index.
- * @return int an index of the first symbol which isn't "token".
- */
- public static int getLastToken(String str, int startIndex)
- {
- int index = startIndex;
- for (; index < str.length(); index++)
- {
- char ch = str.charAt(index);
- if (!isCHAR(ch) || isSEPARATOR(ch) || isCTL(ch))
- return index;
-
- }
- return index;
- }
-
- /**
- * Checking rule:
- * separators = "(" | ")" | "<" | ">" | "@"
- * | "," | ";" | ":" | "\" | <">
- * | "/" | "[" | "]" | "?" | "="
- * | "{" | "}" | SP | HT.
- * @param ch character.
- * @return boolean true if ch is conform to rule, false otherwise.
- */
- public static boolean isSEPARATOR(char ch)
- {
- for (int index = 0; index < SEPARATORS.length; index++)
- {
- if (ch == SEPARATORS[index])
- return true;
- }
- return false;
- }
-
- /**
- * Gets last index of the "comment" string.
- * comment = "(" *( ctext | quoted-pair | comment ) ")".
- * @param str string.
- * @param startIndex start index.
- * @return int an index of the first symbol which isn't "comment".
- */
- public static int getLastComment(String str, int startIndex)
- {
-
- int index = startIndex;
- if (str.length() <= startIndex)
- return startIndex;
- if (str.charAt(index) != '(')
- return startIndex;
-
- boolean bExit = false;
- boolean bQuotedPair = false;
- int idx = startIndex + 1;
- while (bExit == false)
- {
- while (bQuotedPair == false)
- {
- idx = getLastCtext(str, idx);
- if (idx == str.length())
- return idx;
- if (!isQuotedPair(str, idx - 1))
- bQuotedPair = true;
- else
- idx++;
- }
- if (str.charAt(idx) == '(')
- {
- getLastComment(str, idx);
- }
- else if (str.charAt(idx) == ')')
- {
- return idx + 1;
- }
- }
-
- return idx;
- }
-
- /**
- * Gets last index of the "ctext" string.
- * ctext = &lt;any TEXT excluding "(" and ")"&gt;
- * @param str string.
- * @param startIndex start index.
- * @return int an index of the first symbol which isn't "ctext".
- */
- private static int getLastCtext(String str, int startIndex)
- {
- int idx = getLastTEXT(str, startIndex);
- int iBracket = startIndex;
- for (; iBracket < idx; iBracket++)
- {
- if (str.charAt(iBracket) == '(' || str.charAt(iBracket) == ')')
- break;
- }
- if (iBracket < idx)
- idx = iBracket;
- return idx;
- }
-
- /**
- * Gets last index of the "qdtext" string.
- * qdtext = &lt;any TEXT except &lt;"&gt;&gt;
- * @param str string.
- * @param startIndex start index.
- * @return int an index of the first symbol which isn't "qdtext".
- */
- private static int getLastQdtext(String str, int startIndex)
- {
- int idx = getLastTEXT(str, startIndex);
- int iBracket = startIndex;
- for (; iBracket < idx; iBracket++)
- {
- if (str.charAt(iBracket) == '\"')
- break;
- }
- if (iBracket < idx)
- idx = iBracket;
- return idx;
- }
-
- /**
- * Checking rule:
- * quoted-pair = "\" CHAR.
- * @param str string.
- * @param startIndex start index.
- * @return boolean true if str is conform to rule, false otherwise.
- */
- public static boolean isQuotedPair(String str, int startIndex)
- {
- if (str.length() >= startIndex + 2
- && str.charAt(startIndex) == '\\'
- && isCHAR(str.charAt(startIndex + 1)))
- return true;
- else
- return false;
- }
-
- /**
- * Gets last index of the "quoted-string" string.
- * quoted-string = ( &lt;"&gt; *(qdtext | quoted-pair ) &lt;"&gt; )
- * @param str string.
- * @param startIndex start index.
- * @return int an index of the first symbol which isn't "quoted-string".
- */
- public static int getLastQuotedString(String str, int startIndex)
- {
- int index = startIndex;
-
- // if end if the string
- if (startIndex == str.length())
- return startIndex;
- // if the begin is not '"'
- if (str.charAt(index) != DQ)
- return startIndex;
-
- index++;
- while (true)
- {
- index = getLastQdtext(str, index);
- if (index == str.length())
- return startIndex;
- if (isQuotedPair(str, index - 1))
- {
- index++;
- if (index == str.length())
- return startIndex;
- }
- else
- break;
- }
- // if the end is not '"'
- if (str.charAt(index) != DQ)
- return startIndex;
-
- index++;
- return index;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/EntryType.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/EntryType.java
deleted file mode 100644
index 3b27731b0..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/EntryType.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-import java.util.TreeMap;
-import java.util.Vector;
-
-/**
- * This class ...
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class EntryType
-{
- /**
- * ReportArtifact type.
- */
- private ArtifactType artifactType;
-
- /**
- * This type.
- */
- private String typeName;
-
- /**
- * Entry types accessible by type name.
- */
- protected static final TreeMap entryTypeMap = new TreeMap();
-
- /**
- * Entry type names accessible by artifact.
- */
- protected static final TreeMap entryTypeNameMap = new TreeMap();
- static {
- entryTypeNameMap.put(ArtifactType.TYPE_ENVELOPE, new Vector());
- entryTypeNameMap.put(ArtifactType.TYPE_MESSAGE, new Vector());
- entryTypeNameMap.put(ArtifactType.TYPE_DESCRIPTION, new Vector());
- entryTypeNameMap.put(ArtifactType.TYPE_DISCOVERY, new Vector());
- }
-
- /**
- * Envelope entry types.
- */
- public static final String TYPE_ENVELOPE_REQUEST = "requestEnvelope";
- public static final String TYPE_ENVELOPE_RESPONSE = "responseEnvelope";
- public static final String TYPE_ENVELOPE_ANY = "anyEnvelope";
-
- /**
- * Message entry types.
- */
- public static final String TYPE_MESSAGE_REQUEST = "requestMessage";
- public static final String TYPE_MESSAGE_RESPONSE = "responseMessage";
- public static final String TYPE_MESSAGE_ANY = "anyMessage";
-
- /**
- * MIME entry types.
- */
- public static final String TYPE_MIME_PART = "part";
- public static final String TYPE_MIME_ROOT_PART = "root-part";
-
- /**
- * Description entry types.
- */
- public static final String TYPE_DESCRIPTION_DEFINITIONS = "definitions";
- public static final String TYPE_DESCRIPTION_IMPORT = "import";
- public static final String TYPE_DESCRIPTION_TYPES = "types";
- public static final String TYPE_DESCRIPTION_MESSAGE = "message";
- public static final String TYPE_DESCRIPTION_OPERATION = "operation";
- public static final String TYPE_DESCRIPTION_PORTTYPE = "portType";
- public static final String TYPE_DESCRIPTION_BINDING = "binding";
- public static final String TYPE_DESCRIPTION_PORT = "port";
-
- /**
- * Discovery entry types.
- */
- public static final String TYPE_DISCOVERY_BINDINGTEMPLATE = "bindingTemplate";
- public static final String TYPE_DISCOVERY_TMODEL = "tModel";
-
- /**
- * Envelope entry types.
- */
- public static final EntryType ENTRY_TYPE_REQUESTENV =
- newEntryType(ArtifactType.ARTIFACT_TYPE_ENVELOPE, TYPE_ENVELOPE_REQUEST);
- public static final EntryType ENTRY_TYPE_RESPONSEENV =
- newEntryType(ArtifactType.ARTIFACT_TYPE_ENVELOPE, TYPE_ENVELOPE_RESPONSE);
-
- /**
- * Message entry types.
- */
- public static final EntryType ENTRY_TYPE_REQUEST =
- newEntryType(ArtifactType.ARTIFACT_TYPE_MESSAGE, TYPE_MESSAGE_REQUEST);
- public static final EntryType ENTRY_TYPE_RESPONSE =
- newEntryType(ArtifactType.ARTIFACT_TYPE_MESSAGE, TYPE_MESSAGE_RESPONSE);
- // public static final EntryType ENTRY_TYPE_ANYENTRY =
- // new EntryType(ArtifactType.ARTIFACT_TYPE_MESSAGES, TYPE_MESSAGE_ANYENTRY);
-
- /**
- * Description entry types.
- */
- public static final EntryType ENTRY_TYPE_DEFINITIONS =
- newEntryType(
- ArtifactType.ARTIFACT_TYPE_DESCRIPTION,
- TYPE_DESCRIPTION_DEFINITIONS);
- public static final EntryType ENTRY_TYPE_IMPORT =
- newEntryType(
- ArtifactType.ARTIFACT_TYPE_DESCRIPTION,
- TYPE_DESCRIPTION_IMPORT);
- public static final EntryType ENTRY_TYPE_TYPES =
- newEntryType(
- ArtifactType.ARTIFACT_TYPE_DESCRIPTION,
- TYPE_DESCRIPTION_TYPES);
- public static final EntryType ENTRY_TYPE_MESSAGE =
- newEntryType(
- ArtifactType.ARTIFACT_TYPE_DESCRIPTION,
- TYPE_DESCRIPTION_MESSAGE);
- public static final EntryType ENTRY_TYPE_OPERATION =
- newEntryType(
- ArtifactType.ARTIFACT_TYPE_DESCRIPTION,
- TYPE_DESCRIPTION_OPERATION);
- public static final EntryType ENTRY_TYPE_PORTTYPE =
- newEntryType(
- ArtifactType.ARTIFACT_TYPE_DESCRIPTION,
- TYPE_DESCRIPTION_PORTTYPE);
- public static final EntryType ENTRY_TYPE_BINDING =
- newEntryType(
- ArtifactType.ARTIFACT_TYPE_DESCRIPTION,
- TYPE_DESCRIPTION_BINDING);
- public static final EntryType ENTRY_TYPE_PORT =
- newEntryType(ArtifactType.ARTIFACT_TYPE_DESCRIPTION, TYPE_DESCRIPTION_PORT);
-
- /**
- * Discovery entry types.
- */
- public static final EntryType ENTRY_TYPE_BINDINGTEMPLATE =
- newEntryType(
- ArtifactType.ARTIFACT_TYPE_DISCOVERY,
- TYPE_DISCOVERY_BINDINGTEMPLATE);
- public static final EntryType ENTRY_TYPE_TMODEL =
- newEntryType(ArtifactType.ARTIFACT_TYPE_DISCOVERY, TYPE_DISCOVERY_TMODEL);
-
- /**
- * Create entry type.
- */
- private EntryType(ArtifactType artifactType, String typeName)
- {
- this.artifactType = artifactType;
- this.typeName = typeName;
- }
-
- /**
- * Is entry type equal to specified type.
- * @param typeName entry type name.
- * @return true if entry type equal to specified type.
- */
- public boolean isType(String typeName)
- {
- return this.typeName.equals(typeName);
- }
-
- /**
- * Is entry type equal to specified type.
- * @param entryType entry type.
- * @return true if entry type equal to specified type.
- */
- public boolean isType(EntryType entryType)
- {
- return typeName.equals(entryType.getTypeName());
- }
-
- /**
- * Get artifact type.
- * @return artifact type.
- */
- public ArtifactType getArtifactType()
- {
- return artifactType;
- }
-
- /**
- * Get entry type name.
- * @return entry type name.
- */
- public String getTypeName()
- {
- return typeName;
- }
-
- /**
- * Is valid entry type.
- * @param typeName entry type name.
- * @return true if entry type name is valid.
- */
- public static final boolean isValidEntryType(String typeName)
- {
- return (entryTypeMap.get(typeName) == null ? false : true);
- }
-
- /**
- * Create entry type.
- * @param typeName entry type name.
- * @return entry type.
- * @throws RuntimeException if entry type name is invalid or inappropriate.
- */
- public static final EntryType getEntryType(String typeName)
- throws RuntimeException
- {
- // Get the entry type by type name
- EntryType entryType = (EntryType) entryTypeMap.get(typeName);
-
- if (entryType == null)
- {
- throw new RuntimeException(
- "Could not get entry type because type name is invalid: "
- + typeName
- + ".");
- }
-
- return entryType;
- }
-
- /**
- * Get list of entry type names for a specified artifact type name.
- * @param artifactTypeName artifact type name.
- * @return list of entry type names for a specified artifact type name.
- * @throws RuntimeException if entry type name is invalid or inappropriate.
- */
- public static final Vector getEntryTypeNameList(String artifactTypeName)
- throws RuntimeException
- {
- // Get list
- Vector entryTypeNameList = (Vector) entryTypeNameMap.get(artifactTypeName);
-
- // If the list was not found, then throw an exception
- if (entryTypeNameList == null)
- {
- throw new RuntimeException(
- "Could not get entry type name list because artifact type name is invalid: "
- + artifactTypeName
- + ".");
- }
-
- return entryTypeNameList;
- }
-
- /**
- * Get list of type names for a specified artifact type name.
- */
- private static final EntryType newEntryType(
- ArtifactType artifactType,
- String typeName)
- {
- EntryType entryType = null;
-
- // Create entry type
- entryType = new EntryType(artifactType, typeName);
-
- // Add to entry type map
- entryTypeMap.put(typeName, entryType);
-
- // Get the entry type name vector for the artifact type
- Vector entryTypeNameList =
- (Vector) entryTypeNameMap.get(artifactType.getTypeName());
-
- // Add the type name to the list
- entryTypeNameList.add(typeName);
-
- return entryType;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/ErrorList.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/ErrorList.java
deleted file mode 100644
index e9597f4ef..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/ErrorList.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-import java.text.FieldPosition;
-import java.text.MessageFormat;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import javax.xml.namespace.QName;
-
-/**
- * The class accumulates all error strings into string buffer.
- *
- * @author Kulik
- */
-public final class ErrorList
-{
- private Set errors = new HashSet();
- private MessageFormat format = new MessageFormat("{0}:{1}");
- private FieldPosition pos = new FieldPosition(0);
-
- /**
- * Default constructor.
- * @see java.lang.Object#Object()
- */
- public ErrorList()
- {
- }
-
- /**
- * Construct error list using contents of a list.
- * @param list a List object.
- * @see java.lang.Object#Object()
- */
- public ErrorList(List list)
- {
- add(list);
- }
-
- /**
- * Constructor with the specified message format.
- * @param f a message format.
- */
- public ErrorList(MessageFormat f)
- {
- if (f != null)
- format = f;
- }
-
- /**
- * Add list.
- * @param list list of errors.
- */
- public void add(List list)
- {
- Iterator iterator = list.iterator();
- while (iterator.hasNext())
- {
- add((String) iterator.next());
- }
- }
-
- /**
- * Adds error description into the list.
- * @param s1 a string.
- * @param s2 a string.
- */
- public void add(String s1, String s2)
- {
- errors.add(new Pair(s1, s2));
- }
-
- /**
- * Adds error description into the list.
- * @param q a QName object.
- * @param s a string.
- */
- public void add(QName q, String s)
- {
- errors.add(new Pair(NullUtil.toString(q), s));
- }
-
- /**
- * Adds error description into the list.
- * @param q1 a QName object.
- * @param q2 a string.
- */
- public void add(QName q1, QName q2)
- {
- errors.add(new Pair(NullUtil.toString(q1), NullUtil.toString(q2)));
- }
-
- /**
- * Adds error description into the list...
- * @param q a QName object.
- */
- public void add(QName q)
- {
- errors.add(new Pair(NullUtil.toString(q), null));
- }
-
- /**
- * Adds error description into the list.
- * @param s a string.
- */
- public void add(String s)
- {
- errors.add(new Pair(s, null));
- }
-
- /**
- * Returns the error list string representation.
- * @return the error list string representation.
- * @see java.lang.Object#toString()
- */
- public String toString()
- {
- StringBuffer buf = new StringBuffer();
-
- Iterator it = errors.iterator();
- while (it.hasNext())
- {
- Pair p = (Pair) it.next();
- if (p.getFirst() != null && p.getSecond() != null)
- format.format(new Object[] { p.getFirst(), p.getSecond()}, buf, pos);
- else if (p.getFirst() != null)
- buf.append(p.getFirst());
- else
- buf.append(p.getSecond());
- if (it.hasNext())
- buf.append(",\n");
- }
-
- return buf.toString();
- }
-
- /**
- * Indicates whether error list is empty or not.
- * @return true if error list is empty.
- */
- public boolean isEmpty()
- {
- return errors.size() == 0;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HTTPConstants.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HTTPConstants.java
deleted file mode 100644
index 34b053339..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HTTPConstants.java
+++ /dev/null
@@ -1,600 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * A set of HTTP values that are defined by Network Working Group.
- * http://www.ietf.org/
- *
- * @version 1.0
- * @author Ilya Kanonirov (kio@isg.axmor.com)
- */
-public class HTTPConstants {
- // The standardized HTTP Header field-names
- // http://www.mnot.net/drafts/draft-nottingham-http-header-reg-00.txt
-
- // Hypertext Transfer Protocol -- HTTP/1.1 (obsoletes RFC2068)
- public static final String HEADER_ACCEPT = "Accept";
- public static final String HEADER_ACCEPT_CHARSET = "Accept-Charset";
- public static final String HEADER_ACCEPT_ENCODING = "Accept-Encoding";
- public static final String HEADER_ACCEPT_LANGUAGE = "Accept-Language";
- public static final String HEADER_ACCEPT_RANGES = "Accept-Ranges";
- public static final String HEADER_AGE = "Age";
- public static final String HEADER_ALLOW = "Allow";
- public static final String HEADER_AUTHORIZATION = "Authorization";
- public static final String HEADER_CACHE_CONTROL = "Cache-Control";
- public static final String HEADER_CONNECT = "Connect";
- public static final String HEADER_CONTENT_ENCODING = "Content-Encoding";
- public static final String HEADER_CONTENT_LANGUAGE = "Content-Language";
- public static final String HEADER_CONTENT_LENGTH = "Content-Length";
- public static final String HEADER_CONTENT_LOCATION = "Content-Location";
- public static final String HEADER_CONTENT_MD5 = "Content-MD5";
- public static final String HEADER_CONTENT_RANGE = "Content-Range";
- public static final String HEADER_CONTENT_TYPE = "Content-Type";
- public static final String HEADER_DATE = "Date";
- public static final String HEADER_ETAG = "ETag";
- public static final String HEADER_EXPECT = "Expect";
- public static final String HEADER_EXPIRES = "Expires";
- public static final String HEADER_FROM = "From";
- public static final String HEADER_HOST = "Host";
- public static final String HEADER_IF_MATCH = "If-Match";
- public static final String HEADER_IF_MODIFIED_SINCE = "If-Modified-Since";
- public static final String HEADER_IF_NONE_MATCH = "If-None-Match";
- public static final String HEADER_IF_RANGE = "If-Range";
- public static final String HEADER_IF_UNMODIFIED_SINCE = "If-Unmodified-Since";
- public static final String HEADER_LAST_MODIFIED = "Last-Modified";
- public static final String HEADER_LOCATION = "Location";
- public static final String HEADER_MAX_FORWARDS = "Max-Forwards";
- public static final String HEADER_PRAGMA = "Pragma";
- public static final String HEADER_PROXY_AUTHENTICATE = "Proxy-Authenticate";
- public static final String HEADER_PROXY_AUTHORIZATION = "Proxy-Authorization";
- public static final String HEADER_RANGE = "Range";
- public static final String HEADER_REFERER = "Referer";
- public static final String HEADER_RETRY_AFTER = "Retry-After";
- public static final String HEADER_SERVER = "Server";
- public static final String HEADER_TE = "TE";
- public static final String HEADER_TRAILER = "Trailer";
- public static final String HEADER_TRANSFER_ENCODING = "Transfer-Encoding";
- public static final String HEADER_UPGRADE = "Upgrade";
- public static final String HEADER_USER_AGENT = "User-Agent";
- public static final String HEADER_VARY = "Vary";
- public static final String HEADER_VIA = "Via";
- public static final String HEADER_WARNING = "Warning";
- public static final String HEADER_WWW_AUTHENTICATE = "WWW-Authenticate";
- public static final String HEADER_MIME_VERSION = "MIME-Version";
- public static final String HEADER_CONTENT_DISPOSITION = "Content-Disposition";
-
- // HTTP Authentication: Basic and Digest Access Authentication
- public static final String HEADER_AUTHENTICATION_INFO = "Authentication-Info";
-
- // HTTP State Management Mechanism
- public static final String HEADER_SET_COOKIE = "Set-Cookie";
-
- // HTTP State Management Mechanism (obsoletes RFC2109)
- public static final String HEADER_COOKIE = "Cookie";
- public static final String HEADER_COOKIE2 = "Cookie2";
- public static final String HEADER_SET_COOKIE2 = "Set-Cookie2";
-
- // Web Distributed Authoring and Versioning
- public static final String HEADER_DAV = "DAV";
- public static final String HEADER_DEPTH = "Depth";
- public static final String HEADER_DESTINATION = "Destination";
- public static final String HEADER_IF = "If";
- public static final String HEADER_LOCK_TOKEN = "Lock-Token";
- public static final String HEADER_OVERWRITE = "Overwrite";
- public static final String HEADER_STATUS_URI = "Status-URI";
- public static final String HEADER_TIMEOUT = "Timeout";
-
- // Hypertext Transfer Protocol -- HTTP/1.1 (Proposed Standard - these field-names are now considered obsolete)
- public static final String HEADER_CONTENT_BASE = "Content-Base";
- public static final String HEADER_PUBLIC = "Public";
- public static final String HEADER_CONTENT_VERSION = "Content-Version";
- public static final String HEADER_DERIVED_FROM = "Derived-From";
- public static final String HEADER_LINK = "Link";
- public static final String HEADER_URI = "URI";
- public static final String HEADER_KEEP_ALIVE = "Keep-Alive";
-
- // Delta Encoding in HTTP
- public static final String HEADER_A_IM = "A-IM";
- public static final String HEADER_DELTA_BASE = "Delta-Base";
- public static final String HEADER_IM = "IM";
-
- // Instance Digests in HTTP
- public static final String HEADER_DIGEST = "Digest";
- public static final String HEADER_WANT_DIGEST = "Want-Digest";
-
- // Simple Hit-Metering and Usage-Limiting for HTTP
- public static final String HEADER_METER = "Meter";
-
- // The Known Non-Standardized HTTP Header field-names
-
- // Transparent Content Negotiation in HTTP
- public static final String HEADER_ACCEPT_FEATURES = "Accept-Features";
- public static final String HEADER_ALTERNATES = "Alternates";
- public static final String HEADER_NEGOTIATE = "Negotiate";
- public static final String HEADER_TCN = "TCN";
- public static final String HEADER_VARIANT_VARY = "Variant-Vary";
-
- // The Safe Response Header Field
- public static final String HEADER_SAFE = "Safe";
-
- // Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)
- public static final String HEADER_ACCEPT_ADDITIONS = "Accept-Additions";
-
- // The Secure HyperText Transfer Protocol
- public static final String HEADER_CONTENT_PRIVACY_DOMAIN = "Content-Privacy-Domain";
- public static final String HEADER_MAC_INFO = "MAC-Info";
- public static final String HEADER_PREARRANGED_KEY_INFO = "Prearranged-Key-Info";
-
- // An HTTP Extension Framework
- public static final String HEADER_C_EXT = "C-Ext";
- public static final String HEADER_C_MAN = "C-Man";
- public static final String HEADER_C_OPT = "C-Opt";
- public static final String HEADER_EXT = "Ext";
- public static final String HEADER_MAN = "Man";
- public static final String HEADER_OPT = "Opt";
-
- // PICS Label Distribution Label Syntax and Communication Protocols
- public static final String HEADER_PICS_LABEL = "PICS-Label";
-
- // Platform For Privacy Preferences 1.0
- public static final String HEADER_P3P = "P3P";
-
- // PEP - an Extension Mechanism for HTTP
- public static final String HEADER_C_PEP = "C-PEP";
- public static final String HEADER_C_PEP_INFO = "C-PEP-Info";
- public static final String HEADER_PEP = "PEP";
- public static final String HEADER_PEP_INFO = "Pep-Info";
-
- // The HTTP Distribution and Replication Protocol
- public static final String HEADER_CONTENT_ID = "Content-ID";
- public static final String HEADER_DIFFERENTIAL_ID = "Differential-ID";
-
- // ESI Architecture
- public static final String HEADER_SURROGATE_CAPABILITY = "Surrogate-Capability";
- public static final String HEADER_SURROGATE_CONTROL = "Surrogate-Control";
-
- // Selecting Payment Mechanisms Over HTTP
- public static final String HEADER_PROTOCOL = "Protocol";
- public static final String HEADER_PROTOCOL_INFO = "Protocol-Info";
- public static final String HEADER_PROTOCOL_QUERY = "Protocol-Query";
- public static final String HEADER_PROTOCOL_REQUEST = "Protocol-Request";
-
- // Implementation of OPS Over HTTP
- public static final String HEADER_GETPROFILE = "GetProfile";
- public static final String HEADER_PROFILEOBJECT = "ProfileObject";
- public static final String HEADER_SETPROFILE = "SetProfile";
-
- // Notification for Proxy Caches
- public static final String HEADER_PROXY_FEATURES = "Proxy-Features";
- public static final String HEADER_PROXY_INSTRUCTION = "Proxy-Instruction";
-
- // Object Header lines in HTTP
- public static final String HEADER_CONTENT_TRANSFER_ENCODING = "Content-Transfer-Encoding";
- public static final String HEADER_COST = "Cost";
- public static final String HEADER_MESSAGE_ID = "Message-ID";
- public static final String HEADER_TITLE = "Title";
- public static final String HEADER_VERSION = "Version";
-
- // A Proposed Extension Mechanism for HTTP
- public static final String HEADER_EXTENSION = "Extension";
-
- // WIRE - W3 Identifier Resolution Extensions
- public static final String HEADER_OPTIONAL = "Optional";
- public static final String HEADER_RESOLUTION_HINT = "Resolution-Hint";
-
- // Duplicate Suppression in HTTP
- public static final String HEADER_SUBOK = "SubOK";
- public static final String HEADER_SUBST = "Subst";
-
- // Specification of HTTP/1.1 OPTIONS messages
- public static final String HEADER_COMPLIANCE = "Compliance";
- public static final String HEADER_NON_COMPLIANCE = "Non-Compliance";
-
- // Widely-used undocumented headers
- public static final String HEADER_REQUEST_RANGE = "Request-Range";
- public static final String HEADER_UA_COLOR = "UA-Color";
- public static final String HEADER_UA_CPU = "UA-CPU";
- public static final String HEADER_UA_OS = "UA-OS";
- public static final String HEADER_UA_PIXELS = "UA-Pixels";
-
- // Implementation errors
- public static final String HEADER_REFERRER = "Referrer";
-
- // Private features
- public static final String HEADER_COPYRIGHT = "Copyright";
- public static final String HEADER_CONTENT = "Content";
- public static final String HEADER_AUTHOR = "Author";
- public static final String HEADER_CONTACT = "Contact";
- public static final String HEADER_KEYWORDS = "Keywords";
- public static final String HEADER_GENERATOR = "Generator";
- public static final String HEADER_DESCRIPTION = "Description";
- public static final String HEADER_COMMAND = "Command";
- public static final String HEADER_SESSION = "Session";
- public static final String HEADER_TYPE = "Type";
- public static final String HEADER_MESSAGE = "Message";
-
- // Abandoned proposals
- public static final String HEADER_UNLESS_MODIFIED_SINCE = "Unless-Modified-Since";
-
- /**
- * Returns all the standardized HTTP header names presented as List
- * @return The list of standardized HTTP header names
- */
- public static List getStandardizedHeaderNames() {
- return Arrays.asList(new Object[] {
- HEADER_ACCEPT.toUpperCase(),
- HEADER_ACCEPT_CHARSET.toUpperCase(),
- HEADER_ACCEPT_ENCODING.toUpperCase(),
- HEADER_ACCEPT_LANGUAGE.toUpperCase(),
- HEADER_ACCEPT_RANGES.toUpperCase(),
- HEADER_AGE.toUpperCase(),
- HEADER_ALLOW.toUpperCase(),
- HEADER_AUTHORIZATION.toUpperCase(),
- HEADER_CACHE_CONTROL.toUpperCase(),
- HEADER_CONNECT.toUpperCase(),
- HEADER_CONTENT_ENCODING.toUpperCase(),
- HEADER_CONTENT_LANGUAGE.toUpperCase(),
- HEADER_CONTENT_LENGTH.toUpperCase(),
- HEADER_CONTENT_LOCATION.toUpperCase(),
- HEADER_CONTENT_MD5.toUpperCase(),
- HEADER_CONTENT_RANGE.toUpperCase(),
- HEADER_CONTENT_TYPE.toUpperCase(),
- HEADER_DATE.toUpperCase(),
- HEADER_ETAG.toUpperCase(),
- HEADER_EXPECT.toUpperCase(),
- HEADER_EXPIRES.toUpperCase(),
- HEADER_FROM.toUpperCase(),
- HEADER_HOST.toUpperCase(),
- HEADER_IF_MATCH.toUpperCase(),
- HEADER_IF_MODIFIED_SINCE.toUpperCase(),
- HEADER_IF_NONE_MATCH.toUpperCase(),
- HEADER_IF_RANGE.toUpperCase(),
- HEADER_IF_UNMODIFIED_SINCE.toUpperCase(),
- HEADER_LAST_MODIFIED.toUpperCase(),
- HEADER_LOCATION.toUpperCase(),
- HEADER_MAX_FORWARDS.toUpperCase(),
- HEADER_PRAGMA.toUpperCase(),
- HEADER_PROXY_AUTHENTICATE.toUpperCase(),
- HEADER_PROXY_AUTHORIZATION.toUpperCase(),
- HEADER_RANGE.toUpperCase(),
- HEADER_REFERER.toUpperCase(),
- HEADER_RETRY_AFTER.toUpperCase(),
- HEADER_SERVER.toUpperCase(),
- HEADER_TE.toUpperCase(),
- HEADER_TRAILER.toUpperCase(),
- HEADER_TRANSFER_ENCODING.toUpperCase(),
- HEADER_UPGRADE.toUpperCase(),
- HEADER_USER_AGENT.toUpperCase(),
- HEADER_VARY.toUpperCase(),
- HEADER_VIA.toUpperCase(),
- HEADER_WARNING.toUpperCase(),
- HEADER_WWW_AUTHENTICATE.toUpperCase(),
- HEADER_MIME_VERSION.toUpperCase(),
- HEADER_CONTENT_DISPOSITION.toUpperCase(),
-
- HEADER_AUTHENTICATION_INFO.toUpperCase(),
-
- HEADER_SET_COOKIE.toUpperCase(),
-
- HEADER_COOKIE.toUpperCase(),
- HEADER_COOKIE2.toUpperCase(),
- HEADER_SET_COOKIE2.toUpperCase(),
-
- HEADER_DAV.toUpperCase(),
- HEADER_DEPTH.toUpperCase(),
- HEADER_DESTINATION.toUpperCase(),
- HEADER_IF.toUpperCase(),
- HEADER_LOCK_TOKEN.toUpperCase(),
- HEADER_OVERWRITE.toUpperCase(),
- HEADER_STATUS_URI.toUpperCase(),
- HEADER_TIMEOUT.toUpperCase(),
-
- HEADER_CONTENT_BASE.toUpperCase(),
- HEADER_PUBLIC.toUpperCase(),
- HEADER_CONTENT_VERSION.toUpperCase(),
- HEADER_DERIVED_FROM.toUpperCase(),
- HEADER_LINK.toUpperCase(),
- HEADER_URI.toUpperCase(),
- HEADER_KEEP_ALIVE.toUpperCase(),
-
- HEADER_A_IM.toUpperCase(),
- HEADER_DELTA_BASE.toUpperCase(),
- HEADER_IM.toUpperCase(),
-
- HEADER_DIGEST.toUpperCase(),
- HEADER_WANT_DIGEST.toUpperCase(),
-
- HEADER_METER.toUpperCase()
- });
- }
-
- /**
- * Returns all the non-standardized HTTP header names presented as List
- * @return The list of non-standardized HTTP header names
- */
- public static List getNonStandardizedHeaderNames() {
- return Arrays.asList(new Object[] {
- HEADER_ACCEPT_FEATURES.toUpperCase(),
- HEADER_ALTERNATES.toUpperCase(),
- HEADER_NEGOTIATE.toUpperCase(),
- HEADER_TCN.toUpperCase(),
- HEADER_VARIANT_VARY.toUpperCase(),
-
- HEADER_SAFE.toUpperCase(),
-
- HEADER_ACCEPT_ADDITIONS.toUpperCase(),
-
- HEADER_CONTENT_PRIVACY_DOMAIN.toUpperCase(),
- HEADER_MAC_INFO.toUpperCase(),
- HEADER_PREARRANGED_KEY_INFO.toUpperCase(),
-
- HEADER_C_EXT.toUpperCase(),
- HEADER_C_MAN.toUpperCase(),
- HEADER_C_OPT.toUpperCase(),
- HEADER_EXT.toUpperCase(),
- HEADER_MAN.toUpperCase(),
- HEADER_OPT.toUpperCase(),
-
- HEADER_PICS_LABEL.toUpperCase(),
- HEADER_PROTOCOL.toUpperCase(),
- HEADER_PROTOCOL_REQUEST.toUpperCase(),
-
- HEADER_P3P.toUpperCase(),
-
- HEADER_C_PEP.toUpperCase(),
- HEADER_C_PEP_INFO.toUpperCase(),
- HEADER_PEP.toUpperCase(),
- HEADER_PEP_INFO.toUpperCase(),
-
- HEADER_CONTENT_ID.toUpperCase(),
- HEADER_DIFFERENTIAL_ID.toUpperCase(),
-
- HEADER_SURROGATE_CAPABILITY.toUpperCase(),
- HEADER_SURROGATE_CONTROL.toUpperCase(),
-
- HEADER_PROTOCOL.toUpperCase(),
- HEADER_PROTOCOL_INFO.toUpperCase(),
- HEADER_PROTOCOL_QUERY.toUpperCase(),
- HEADER_PROTOCOL_REQUEST.toUpperCase(),
-
- HEADER_GETPROFILE.toUpperCase(),
- HEADER_PROFILEOBJECT.toUpperCase(),
- HEADER_SETPROFILE.toUpperCase(),
-
- HEADER_PROXY_FEATURES.toUpperCase(),
- HEADER_PROXY_INSTRUCTION.toUpperCase(),
-
- HEADER_CONTENT_TRANSFER_ENCODING.toUpperCase(),
- HEADER_COST.toUpperCase(),
- HEADER_MESSAGE_ID.toUpperCase(),
- HEADER_TITLE.toUpperCase(),
- HEADER_VERSION.toUpperCase(),
-
- HEADER_EXTENSION.toUpperCase(),
-
- HEADER_OPTIONAL.toUpperCase(),
- HEADER_RESOLUTION_HINT.toUpperCase(),
-
- HEADER_SUBOK.toUpperCase(),
- HEADER_SUBST.toUpperCase(),
-
- HEADER_COMPLIANCE.toUpperCase(),
- HEADER_NON_COMPLIANCE.toUpperCase(),
-
- HEADER_REQUEST_RANGE.toUpperCase(),
- HEADER_UA_COLOR.toUpperCase(),
- HEADER_UA_CPU.toUpperCase(),
- HEADER_UA_OS.toUpperCase(),
- HEADER_UA_PIXELS.toUpperCase(),
-
- HEADER_REFERRER.toUpperCase(),
-
- HEADER_COPYRIGHT.toUpperCase(),
- HEADER_CONTENT.toUpperCase(),
- HEADER_AUTHOR.toUpperCase(),
- HEADER_CONTACT.toUpperCase(),
- HEADER_KEYWORDS.toUpperCase(),
- HEADER_GENERATOR.toUpperCase(),
- HEADER_DESCRIPTION.toUpperCase(),
- HEADER_COMMAND.toUpperCase(),
- HEADER_SESSION.toUpperCase(),
- HEADER_TYPE.toUpperCase(),
- HEADER_MESSAGE.toUpperCase(),
-
- HEADER_UNLESS_MODIFIED_SINCE.toUpperCase()
- });
- }
-
- /**
- * Returns all known HTTP header names presented as List
- * @return The list of all known HTTP header names
- */
- public static List getAllKnownHeaderNames() {
- return Arrays.asList(new Object[] {
- HEADER_ACCEPT.toUpperCase(),
- HEADER_ACCEPT_CHARSET.toUpperCase(),
- HEADER_ACCEPT_ENCODING.toUpperCase(),
- HEADER_ACCEPT_LANGUAGE.toUpperCase(),
- HEADER_ACCEPT_RANGES.toUpperCase(),
- HEADER_AGE.toUpperCase(),
- HEADER_ALLOW.toUpperCase(),
- HEADER_AUTHORIZATION.toUpperCase(),
- HEADER_CACHE_CONTROL.toUpperCase(),
- HEADER_CONNECT.toUpperCase(),
- HEADER_CONTENT_ENCODING.toUpperCase(),
- HEADER_CONTENT_LANGUAGE.toUpperCase(),
- HEADER_CONTENT_LENGTH.toUpperCase(),
- HEADER_CONTENT_LOCATION.toUpperCase(),
- HEADER_CONTENT_MD5.toUpperCase(),
- HEADER_CONTENT_RANGE.toUpperCase(),
- HEADER_CONTENT_TYPE.toUpperCase(),
- HEADER_DATE.toUpperCase(),
- HEADER_ETAG.toUpperCase(),
- HEADER_EXPECT.toUpperCase(),
- HEADER_EXPIRES.toUpperCase(),
- HEADER_FROM.toUpperCase(),
- HEADER_HOST.toUpperCase(),
- HEADER_IF_MATCH.toUpperCase(),
- HEADER_IF_MODIFIED_SINCE.toUpperCase(),
- HEADER_IF_NONE_MATCH.toUpperCase(),
- HEADER_IF_RANGE.toUpperCase(),
- HEADER_IF_UNMODIFIED_SINCE.toUpperCase(),
- HEADER_LAST_MODIFIED.toUpperCase(),
- HEADER_LOCATION.toUpperCase(),
- HEADER_MAX_FORWARDS.toUpperCase(),
- HEADER_PRAGMA.toUpperCase(),
- HEADER_PROXY_AUTHENTICATE.toUpperCase(),
- HEADER_PROXY_AUTHORIZATION.toUpperCase(),
- HEADER_RANGE.toUpperCase(),
- HEADER_REFERER.toUpperCase(),
- HEADER_RETRY_AFTER.toUpperCase(),
- HEADER_SERVER.toUpperCase(),
- HEADER_TE.toUpperCase(),
- HEADER_TRAILER.toUpperCase(),
- HEADER_TRANSFER_ENCODING.toUpperCase(),
- HEADER_UPGRADE.toUpperCase(),
- HEADER_USER_AGENT.toUpperCase(),
- HEADER_VARY.toUpperCase(),
- HEADER_VIA.toUpperCase(),
- HEADER_WARNING.toUpperCase(),
- HEADER_WWW_AUTHENTICATE.toUpperCase(),
- HEADER_MIME_VERSION.toUpperCase(),
- HEADER_CONTENT_DISPOSITION.toUpperCase(),
-
- HEADER_AUTHENTICATION_INFO.toUpperCase(),
-
- HEADER_SET_COOKIE.toUpperCase(),
-
- HEADER_COOKIE.toUpperCase(),
- HEADER_COOKIE2.toUpperCase(),
- HEADER_SET_COOKIE2.toUpperCase(),
-
- HEADER_DAV.toUpperCase(),
- HEADER_DEPTH.toUpperCase(),
- HEADER_DESTINATION.toUpperCase(),
- HEADER_IF.toUpperCase(),
- HEADER_LOCK_TOKEN.toUpperCase(),
- HEADER_OVERWRITE.toUpperCase(),
- HEADER_STATUS_URI.toUpperCase(),
- HEADER_TIMEOUT.toUpperCase(),
-
- HEADER_CONTENT_BASE.toUpperCase(),
- HEADER_PUBLIC.toUpperCase(),
- HEADER_CONTENT_VERSION.toUpperCase(),
- HEADER_DERIVED_FROM.toUpperCase(),
- HEADER_LINK.toUpperCase(),
- HEADER_URI.toUpperCase(),
- HEADER_KEEP_ALIVE.toUpperCase(),
-
- HEADER_A_IM.toUpperCase(),
- HEADER_DELTA_BASE.toUpperCase(),
- HEADER_IM.toUpperCase(),
-
- HEADER_DIGEST.toUpperCase(),
- HEADER_WANT_DIGEST.toUpperCase(),
-
- HEADER_METER.toUpperCase(),
-
- HEADER_ACCEPT_FEATURES.toUpperCase(),
- HEADER_ALTERNATES.toUpperCase(),
- HEADER_NEGOTIATE.toUpperCase(),
- HEADER_TCN.toUpperCase(),
- HEADER_VARIANT_VARY.toUpperCase(),
-
- HEADER_SAFE.toUpperCase(),
-
- HEADER_ACCEPT_ADDITIONS.toUpperCase(),
-
- HEADER_CONTENT_PRIVACY_DOMAIN.toUpperCase(),
- HEADER_MAC_INFO.toUpperCase(),
- HEADER_PREARRANGED_KEY_INFO.toUpperCase(),
-
- HEADER_C_EXT.toUpperCase(),
- HEADER_C_MAN.toUpperCase(),
- HEADER_C_OPT.toUpperCase(),
- HEADER_EXT.toUpperCase(),
- HEADER_MAN.toUpperCase(),
- HEADER_OPT.toUpperCase(),
-
- HEADER_PICS_LABEL.toUpperCase(),
- HEADER_PROTOCOL.toUpperCase(),
- HEADER_PROTOCOL_REQUEST.toUpperCase(),
-
- HEADER_P3P.toUpperCase(),
-
- HEADER_C_PEP.toUpperCase(),
- HEADER_C_PEP_INFO.toUpperCase(),
- HEADER_PEP.toUpperCase(),
- HEADER_PEP_INFO.toUpperCase(),
-
- HEADER_CONTENT_ID.toUpperCase(),
- HEADER_DIFFERENTIAL_ID.toUpperCase(),
-
- HEADER_SURROGATE_CAPABILITY.toUpperCase(),
- HEADER_SURROGATE_CONTROL.toUpperCase(),
-
- HEADER_PROTOCOL.toUpperCase(),
- HEADER_PROTOCOL_INFO.toUpperCase(),
- HEADER_PROTOCOL_QUERY.toUpperCase(),
- HEADER_PROTOCOL_REQUEST.toUpperCase(),
-
- HEADER_GETPROFILE.toUpperCase(),
- HEADER_PROFILEOBJECT.toUpperCase(),
- HEADER_SETPROFILE.toUpperCase(),
-
- HEADER_PROXY_FEATURES.toUpperCase(),
- HEADER_PROXY_INSTRUCTION.toUpperCase(),
-
- HEADER_CONTENT_TRANSFER_ENCODING.toUpperCase(),
- HEADER_COST.toUpperCase(),
- HEADER_MESSAGE_ID.toUpperCase(),
- HEADER_TITLE.toUpperCase(),
- HEADER_VERSION.toUpperCase(),
-
- HEADER_EXTENSION.toUpperCase(),
-
- HEADER_OPTIONAL.toUpperCase(),
- HEADER_RESOLUTION_HINT.toUpperCase(),
-
- HEADER_SUBOK.toUpperCase(),
- HEADER_SUBST.toUpperCase(),
-
- HEADER_COMPLIANCE.toUpperCase(),
- HEADER_NON_COMPLIANCE.toUpperCase(),
-
- HEADER_REQUEST_RANGE.toUpperCase(),
- HEADER_UA_COLOR.toUpperCase(),
- HEADER_UA_CPU.toUpperCase(),
- HEADER_UA_OS.toUpperCase(),
- HEADER_UA_PIXELS.toUpperCase(),
-
- HEADER_REFERRER.toUpperCase(),
-
- HEADER_COPYRIGHT.toUpperCase(),
- HEADER_CONTENT.toUpperCase(),
- HEADER_AUTHOR.toUpperCase(),
- HEADER_CONTACT.toUpperCase(),
- HEADER_KEYWORDS.toUpperCase(),
- HEADER_GENERATOR.toUpperCase(),
- HEADER_DESCRIPTION.toUpperCase(),
- HEADER_COMMAND.toUpperCase(),
- HEADER_SESSION.toUpperCase(),
- HEADER_TYPE.toUpperCase(),
- HEADER_MESSAGE.toUpperCase(),
-
- HEADER_UNLESS_MODIFIED_SINCE.toUpperCase()
- });
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HTTPUtils.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HTTPUtils.java
deleted file mode 100644
index 735e435e5..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HTTPUtils.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-
-/**
- * Set of HTTPL related utilities.
- *
- * @version 1.0.1
- * @author Peter Brittenham
- */
-
-public final class HTTPUtils
-{
-
- /**
- * Find the URL string in a HTTP POST header.
- * @param httpPostHeader a HTTP POST header.
- * @return the URL string in a HTTP POST header.
- */
- public static String getURLString(String httpPostHeader)
- {
- String urlString = null;
- int start, end;
-
- // If POST, then continue
- if (httpPostHeader.startsWith("POST") || httpPostHeader.startsWith("GET"))
- {
- // Start after first space
- start = httpPostHeader.indexOf(' ') + 1;
-
- // Look for next non-space character
- while (httpPostHeader.charAt(start) == ' ')
- start++;
-
- // Find next space character
- end = httpPostHeader.indexOf(' ', start);
-
- // Get URL string which is located in between start and end
- urlString = httpPostHeader.substring(start, end);
- }
-
- // Else throw exception
- else
- {
- throw new IllegalArgumentException(
- "HTTP header does not contain POST data (was: " + httpPostHeader + ")");
- }
-
- // Return URL string
- return urlString;
- }
- /**
- * Utility to present HTTP header information as attribute-value pairs,
- * based on ':' as attribute-value separator.
- * @param httpHeaderString an HTTP header string.
- * @param separators attribute-value separator list.
- * @return HTTP header information as attribute-value pairs.
- * @throws WSIException if unable to create HTTP header information
- * as attribute-value pairs.
- */
- public static Map getHttpHeaderTokens(String httpHeaderString, String separators)
- throws WSIException
- {
- StringTokenizer tokenizer = new StringTokenizer(httpHeaderString, "\n\r\f");
- Map map = new HashMap();
- String name = null;
- while (tokenizer.hasMoreTokens())
- {
- String line = tokenizer.nextToken();
- int index = line.indexOf(separators);
- if (index > 0 && index < line.length() - 1)
- {
- name = line.substring(0, index).toUpperCase();
- map.put(name, line.substring(index + 1).trim());
- }
- else
- {
- if ((name != null) && (line.length()>0) && Character.isWhitespace(line.charAt(0)))
- map.put(name, map.get(name) + " " + line.trim());
- }
- }
- return map;
- }
-
- /**
- * Utility to take sub attribute value from HTTP header
- * @param httpHeaderString an HTTP header string.
- * @param attributeName attribute name.
- * @param subAttributeName sub attribute name.
- * @return sub attribute value from HTTP header.
- * @throws WSIException if unable to get sub attribute value from HTTP header.
- */
- public static String getHttpHeaderSubAttribute(String httpHeaderString,
- String attributeName, String subAttributeName)
- throws WSIException
- {
- // get attribute value
- String value =
- (String) getHttpHeaderTokens(httpHeaderString,":").get(attributeName.toUpperCase());
- if(value != null)
- {
- // search sub attribute token
- int idxQ = value.toUpperCase().indexOf(subAttributeName.toUpperCase()+"=\"");
- int idx = value.toUpperCase().indexOf(subAttributeName.toUpperCase()+"=");
- // if attribute is quoted
- if (idxQ != -1)
- {
- idxQ += (subAttributeName+"=\"").length();
- int eIdxQ = value.indexOf("\"", idxQ);
- if (eIdxQ != -1)
- {
- return value.substring(idxQ, eIdxQ);
- }
- else
- {
- return null;
- }
- }
- // if attribute do not quoted
- else if (idx != -1)
- {
- idx += (subAttributeName+"=").length();
- int eIdx = -1;
- // find end space separator
- if ((eIdx = value.indexOf(" ", idx)) != -1)
- {
- return value.substring(idx, eIdx);
- }
- // find coma separator
- else if ((eIdx = value.indexOf(";", idx)) != -1)
- {
- return value.substring(idx, eIdx);
- }
- // this is last attribute
- else
- {
- return value.substring(idx);
- }
- }
- // if attribute do not found
- else
- {
- return null;
- }
- }
- return value;
- }
-
- /**
- * Utility to take attribute value from HTTP header
- * @param httpHeaderString an HTTP header string.
- * @param attributeName attribute name.
- * @return attribute value from HTTP header.
- * @throws WSIException if unable to get attribute value from HTTP header.
- */
- public static String getHttpHeaderAttribute(String httpHeaderString,
- String attributeName)
- throws WSIException
- {
- String attributeValue =
- (String) getHttpHeaderTokens(httpHeaderString,":").get(attributeName.toUpperCase());
- // get first token
- if((attributeValue != null) && (attributeValue.indexOf(";") != -1)) {
- attributeValue = attributeValue.substring(0, attributeValue.indexOf(";"));
- }
- return attributeValue;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HttpHeadersValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HttpHeadersValidator.java
deleted file mode 100644
index 3c68a8816..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HttpHeadersValidator.java
+++ /dev/null
@@ -1,1720 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Locale;
-import java.util.StringTokenizer;
-
-import sun.net.www.MessageHeader;
-
-/**
- * This class checks HTTP request headers about RFC 2616.
- *
- * @author Volodin
- */
-public class HttpHeadersValidator
-{
-
- private static final String HEADER_ALLOW = "Allow";
- private static final String HEADER_CONTENT_TYPE = "Content-Type";
- private static final String HEADER_CONTENT_ENCODING = "Content-Encoding";
- private static final String HEADER_CONTENT_LANGUAGE = "Content-Language";
- private static final String HEADER_CONTENT_LENGHT = "Content-Length";
- private static final String HEADER_CONTENT_LOCATION = "Content-Location";
- private static final String HEADER_CONTENT_RANGE = "Content-Range";
- private static final String HEADER_EXPIRES = "Expires";
- private static final String HEADER_LAST_MODIFIED = "Last-Modified";
- private static final String HEADER_CACHE_CONTROL = "Cache-Control";
- private static final String HEADER_CONNECTION = "Connection";
- private static final String HEADER_DATE = "Date";
- private static final String HEADER_PRAGMA = "Pragma";
- private static final String HEADER_TRAILER = "Trailer";
- private static final String HEADER_TRANSFER_ENCODING = "Transfer-Encoding";
-
- private static final String HEADER_UPGRADE = "Upgrade";
- private static final String HEADER_VIA = "Via";
- private static final String HEADER_WARNING = "Warning";
-
- private static final String HEADER_ACCEPT = "Accept";
- private static final String HEADER_ACCEPT_CHARSET = "Accept-Charset";
- private static final String HEADER_ACCEPT_ENCODING = "Accept-Encoding";
- private static final String HEADER_ACCEPT_LANGUAGE = "Accept-Language";
- private static final String HEADER_AUTHORIZATION = "Authorization";
- private static final String HEADER_EXPECT = "Expect";
- private static final String HEADER_FROM = "From";
- private static final String HEADER_HOST = "Host";
- private static final String HEADER_IF_MATCH = "If-Match";
- private static final String HEADER_IF_MODIFIED_SINCE = "If-Modified-Since";
- private static final String HEADER_IF_NONE_MATCH = "If-None-Match";
- private static final String HEADER_IF_RANGE = "If-Range";
- private static final String HEADER_IF_UNMODIFIED_SINCE =
- "If-Unmodified-Since";
- private static final String HEADER_MAX_FORWARDS = "Max-Forwards";
- private static final String HEADER_PROXY_AUTHORIZATION =
- "Proxy-Authorization";
- private static final String HEADER_RANGE = "Range";
- private static final String HEADER_REFERER = "Referer";
- private static final String HEADER_TE = "TE";
- private static final String HEADER_USER_AGENT = "User-Agent";
-
- /**
- * This class checks e-mail string about RFC 822.
- */
- public static class MailboxValidator
- {
- private static final char[] SPECIAL =
- { '(', ')', '<', '>', '@', ',', ';', ':', '\\', '\"', '.', '[', ']' };
-
- /**
- * Validates e-mail string.
- * @param mailbox e-mail string
- * @return boolean true if e-mail string is conform to RFC 822, false otherwise.
- */
-
- public static boolean validateMailbox(String mailbox)
- {
-
- if (!isFullAddr(mailbox) && !isShortAddr(mailbox))
- return false;
-
- return true;
- }
-
- /**
- * Method isSimpleAddr.
- * @param mailbox
- * @return boolean
- */
- private static boolean isShortAddr(String mailbox)
- {
- int indexAt = mailbox.indexOf('@');
- if (indexAt == -1)
- return false;
-
- if (!isLocalPart(mailbox.substring(0, indexAt))
- || !isDomain(mailbox.substring(indexAt + 1)))
- return false;
-
- return true;
- }
-
- /**
- * Method isDomaim.
- * @param string
- * return boolean
- */
- private static boolean isDomain(String string)
- {
- if (string.trim().length() == 0)
- return false;
- StringTokenizer st = new StringTokenizer(string, ".");
- while (st.hasMoreTokens())
- {
- String subDomain = st.nextToken();
- if (!isAtom(subDomain) && !isDomainLiteral(subDomain))
- return false;
-
- }
- return true;
- }
-
- /**
- * Method isDomainLiteral.
- * @param subDomain
- * @return boolean
- */
- private static boolean isDomainLiteral(String subDomain)
- {
- if (getLastDomainLiteral(subDomain, 0) == subDomain.length())
- {
- return true;
- }
- else
- {
- return false;
- }
- }
-
- private static int getLastDomainLiteral(String str, int startIndex)
- {
-
- int index = startIndex;
- //int newIndex = 0;
-
- // if end if the string
- if (startIndex == str.length())
- return startIndex;
- // if the begin is not '['
- if (str.charAt(index) != '[')
- return startIndex;
-
- index++;
- while (true)
- {
- index = getLastDtext(str, index);
- if (index == str.length())
- return startIndex;
- if (BasicRules.isQuotedPair(str, index - 1))
- {
- index++;
- if (index == str.length())
- return startIndex;
- }
- else
- break;
- }
- // if the end is not ']'
- if (str.charAt(index) != ']')
- return startIndex;
-
- index++;
- return index;
- }
-
- private static int getLastDtext(String str, int startIndex)
- {
- if (str.length() == startIndex)
- return startIndex;
- int i = 0;
- for (; i < str.length(); i++)
- {
- char ch = str.charAt(i);
- i = BasicRules.getLastIndexLWS(str, i);
- if (!BasicRules.isCHAR(ch)
- || str.charAt(i) == '['
- || str.charAt(i) == ']'
- || str.charAt(i) == '\\'
- || str.charAt(i) == BasicRules.CR)
- {
- return i + 1;
- }
- }
- return i + 1;
- }
-
- /**
- * Method isLocalPart.
- * @param string
- * @return boolean
- */
- private static boolean isLocalPart(String string)
- {
- if (string.trim().length() == 0)
- return false;
- StringTokenizer st = new StringTokenizer(string, ".");
- while (st.hasMoreTokens())
- {
- if (!isWord(st.nextToken()))
- return false;
- }
- return true;
- }
-
- /**
- * Method isWord.
- * @param string
- * @return boolean
- */
- private static boolean isWord(String string)
- {
- if (!isAtom(string) && !isQuotedString(string))
- return false;
- return true;
- }
-
- /**
- * Method isAtom.
- * @param string
- * @return boolean
- */
- private static boolean isAtom(String string)
- {
- if (string.length() == 0)
- return false;
- for (int i = 0; i < string.length(); i++)
- {
- if (!BasicRules.isCHAR(string.charAt(i))
- || isSpecial(string.charAt(i))
- || string.charAt(i) == ' '
- || BasicRules.isCTL(string.charAt(i)))
- {
- return false;
- }
- }
- return true;
- }
-
- /**
- * Method isSpecial.
- * @param c
- * @return boolean
- */
- private static boolean isSpecial(char ch)
- {
- for (int index = 0; index < SPECIAL.length; index++)
- {
- if (ch == SPECIAL[index])
- return true;
- }
- return false;
- }
-
- /**
- * Method isFullAddr.
- * @param mailbox
- * @return boolean
- */
- private static boolean isFullAddr(String mailbox)
- {
- if (mailbox.length() == 0)
- return false;
- int idxLT = mailbox.indexOf('<');
- if (idxLT == -1)
- return false;
-
- //is phrase
- String phrase = mailbox.substring(0, idxLT);
- StringTokenizer st = new StringTokenizer(phrase, " ");
- if (st.countTokens() == 0)
- return false;
- while (st.hasMoreTokens())
- {
- if (!isWord(st.nextToken()))
- return false;
- }
- if (phrase.charAt(phrase.length() - 1) != BasicRules.SP)
- {
- return false;
- }
-
- //is route-addr
- String routeAddr = mailbox.substring(idxLT + 1);
- // is route
- int idxTwoSpot = routeAddr.indexOf(':');
- if (idxTwoSpot != -1)
- {
- StringTokenizer stRouteAddr =
- new StringTokenizer(routeAddr.substring(0, idxTwoSpot), ",");
- if (!stRouteAddr.hasMoreTokens())
- return false;
- while (stRouteAddr.hasMoreTokens())
- {
- if (!isDomain(stRouteAddr.nextToken()))
- return false;
- }
- }
-
- //is addr spec
- int idxGT = routeAddr.indexOf('>');
- if (idxGT == -1 || idxGT != (routeAddr.length() - 1))
- return false;
-
- if (!isShortAddr(routeAddr.substring(idxTwoSpot + 1, idxGT)))
- return false;
-
- return true;
- }
-
- }
-
- /**
- * Validates HTTP request headers.
- * @param headers HTTP request headers
- * @return boolean true if all HTTP headers string is conform to RFC 2616, false otherwise.
- */
-
- public static boolean validateHttpRequestHeaders(String headers)
- {
-
- MessageHeader mh = new MessageHeader();
- try
- {
- mh.parseHeader(new ByteArrayInputStream(headers.getBytes()));
- }
- catch (IOException e)
- {
- return false;
- }
-
- String header = null;
- String value = null;
-
- header = mh.getKey(0);
- if (header != null)
- return false;
-
- value = mh.getValue(0);
- if (value == null)
- return false;
-
- //method
- StringTokenizer st = new StringTokenizer(value, " ");
- if (!st.hasMoreElements())
- return false;
- String str = st.nextToken();
- if (!isToken(str))
- return false;
-
- if (!st.hasMoreElements())
- return false;
- str = st.nextToken();
- if (!isURI(str) && !str.equals("*"))
- return false;
-
- if (!st.hasMoreElements())
- return false;
- str = st.nextToken();
- if (!isHTTPVersion(str))
- return false;
-
- int i = 1;
- try
- {
- while ((header = mh.getKey(i)) != null)
- {
- value = mh.getValue(i);
- i++;
-
- // is message-header token
- if (!isToken(header))
- return false;
-
- //---- entity-headers
-
- if (header.equals(HEADER_ALLOW))
- {
- if (!isValidAllow(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_CONTENT_TYPE))
- {
- if (!isMediaType(value))
- return false;
- else
- continue;
- }
- if (header.equals(HEADER_CONTENT_ENCODING))
- {
- if (!isToken(value))
- return false;
- else
- continue;
- }
- if (header.equals(HEADER_CONTENT_LANGUAGE))
- {
- if (!isLanguageTag(value))
- return false;
- else
- continue;
- }
- if (header.equals(HEADER_CONTENT_LENGHT))
- {
- if (!isDidgit(value))
- return false;
- else
- continue;
- }
- if (header.equals(HEADER_CONTENT_LOCATION))
- {
- if (!isURI(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_CONTENT_RANGE))
- {
- if (!isValidContentRange(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_EXPIRES)
- || header.equals(HEADER_LAST_MODIFIED))
- {
- if (!isHTTPDate(value))
- return false;
- else
- continue;
- }
-
- //---- general-headers
- if (header.equals(HEADER_CACHE_CONTROL))
- {
- if (!isValidCacheControl(value))
- return false;
-
- continue;
- //return true;
- }
-
- if (header.equals(HEADER_CONNECTION))
- {
- if (!isToken(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_DATE))
- {
- if (!isHTTPDate(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_PRAGMA))
- {
- if (!isPragmaDerective(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_TRAILER))
- {
- if (!isToken(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_TRANSFER_ENCODING))
- {
- if (!isTransferCoding(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_UPGRADE))
- {
- if (!isValidUpgrade(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_VIA))
- {
- if (!isValidVia(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_WARNING))
- {
- if (!isValidWarning(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_ACCEPT))
- {
- if (!isValidAccept(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_ACCEPT_CHARSET))
- {
- if (!isValidAcceptCharSet(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_ACCEPT_ENCODING))
- {
- if (!isValidAcceptEncoding(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_ACCEPT_LANGUAGE))
- {
- if (!isValidAcceptLanguage(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_AUTHORIZATION)
- || header.equals(HEADER_PROXY_AUTHORIZATION))
- {
- if (!isCredentials(value))
- return false;
- else
- continue;
- }
- if (header.equals(HEADER_EXPECT))
- {
- if (!isExpectation(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_FROM))
- {
- if (!MailboxValidator.validateMailbox(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_IF_MATCH)
- || header.equals(HEADER_IF_NONE_MATCH))
- {
- if (!isValidIfMatch(value))
- return false;
- else
- continue;
- }
- if (header.equals(HEADER_IF_RANGE))
- {
- if (!isEntityTag(value) && !isHTTPDate(value))
- return false;
- else
- continue;
- }
-
- //---
- if (header.equals(HEADER_IF_MODIFIED_SINCE))
- {
- if (!isHTTPDate(value))
- return false;
- else
- continue;
- }
- if (header.equals(HEADER_IF_UNMODIFIED_SINCE))
- {
- if (!isHTTPDate(value))
- return false;
- else
- continue;
- }
- if (header.equals(HEADER_MAX_FORWARDS))
- {
- if (!isDidgit(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_USER_AGENT))
- {
- if (!isValidUserAgent(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_TE))
- {
- if (!isValidTE(value))
- return false;
- else
- continue;
- }
-
- if (header.equals(HEADER_RANGE))
- {
- if (!isRange(value))
- return false;
- else
- continue;
- }
- if (header.equals(HEADER_HOST))
- {
- if (!isHost(value))
- return false;
- else
- continue;
- }
- if (header.equals(HEADER_REFERER))
- {
- if (!isURI(value))
- return false;
- else
- continue;
- }
-
- }
- }
- catch (Exception e)
- {
- return false;
- }
- return true;
- }
-
- /**
- * Method isValidIfMatch.
- * @param value
- * @return boolean
- */
- private static boolean isValidIfMatch(String value)
- {
- if (value.trim().length() == 0)
- return true;
- if ("*".equals(value.trim()))
- return true;
-
- StringTokenizer st = new StringTokenizer(value, ",");
- while (st.hasMoreElements())
- {
- String str = st.nextToken().trim();
- if (!isEntityTag(str))
- return false;
-
- }
-
- return true;
- }
-
- /**
- * Method isValidUpgrade.
- * @param value
- * @return boolean
- */
- private static boolean isValidUpgrade(String value)
- {
- if (value.trim().length() == 0)
- return false;
- StringTokenizer st = new StringTokenizer(value, ",");
- while (st.hasMoreElements())
- {
- String str = st.nextToken().trim();
- if (!isProduct(str))
- return false;
-
- }
- return true;
- }
-
- /**
- * Method isValidCacheControl.
- * @param value
- * @return boolean
- */
- private static boolean isValidCacheControl(String value)
- {
-
- if (value.trim().length() == 0)
- return false;
-
- StringTokenizer st = new StringTokenizer(value, ",");
- while (st.hasMoreElements())
- {
- String str = st.nextToken().trim();
- int index = str.indexOf('=');
- if (index == -1)
- {
-
- }
- else
- {
- if (!isToken(str.substring(0, index)))
- return false;
- String strAfterEq = str.substring(index + 1);
- if (!isToken(strAfterEq) && !isQuotedString(strAfterEq))
- {
- return false;
- }
- }
- }
-
- return true;
- }
-
- /**
- * Method isHTTPVersion.
- * @param str
- * @return boolean
- */
- private static boolean isHTTPVersion(String str)
- {
- if (!str.startsWith("HTTP/"))
- return false;
- int idx = "HTTP/".length();
-
- int idx2 = str.indexOf(".");
-
- // 1*DIGIT
- String s = str.substring(idx, idx2);
- if (!isDidgit(s))
- return false;
-
- s = str.substring(idx2 + 1);
- if (!isDidgit(s))
- return false;
-
- return true;
- }
-
- /**
- * Method isValidWarning.
- * @param value
- * @return boolean
- */
- private static boolean isValidWarning(String value)
- {
- if (value.length() == 0)
- return false;
- value = value.trim();
- StringTokenizer st = new StringTokenizer(value, " ");
- String str = st.nextToken();
-
- if (str.length() > 3 || !isDidgit(str))
- return false;
-
- if (!st.hasMoreTokens())
- return false;
- str = st.nextToken();
- if (!isHost(str) && !isToken(str))
- return false;
-
- //if(!st.hasMoreTokens()) return false;
- str = st.nextToken("").trim();
- //???
-
- int lastQuotedString = BasicRules.getLastQuotedString(str, 0);
- if (lastQuotedString == str.length())
- {
- return true;
- }
- else
- {
- String data = str.substring(lastQuotedString);
- if (data.charAt(data.length()) != '\"')
- return false;
- if (str.charAt(0) != '\"')
- return false;
- if (!isHTTPDate(str.substring(1, data.length() - 1)))
- return false;
- }
-
- return true;
- }
-
- /**
- * Method isValidVia.
- * @param value
- * @return boolean
- */
- private static boolean isValidVia(String value)
- {
- if (value.trim().length() == 0)
- return false;
-
- StringTokenizer st = new StringTokenizer(value, ",");
- while (st.hasMoreElements())
- {
-
- String str = st.nextToken().trim();
-
- StringTokenizer st2 = new StringTokenizer(str, " ");
-
- // protocol/version
- str = st2.nextToken();
- int idx = str.indexOf("/");
- if (idx == -1)
- {
- if (!isToken(str))
- return false;
- }
- else
- {
- if (!isToken(str.substring(0, idx))
- || !isToken(str.substring(idx + 1)))
- return false;
- }
-
- //host
- str = st2.nextToken();
- if (!isHost(str) && !isToken(str))
- return false;
-
- //comment
- if (st2.hasMoreTokens())
- {
- str = st2.nextToken("");
- if (!isComment(str.trim()))
- return false;
- }
- }
- return true;
- }
-
- /**
- * Method isHost.
- * @param value
- * @return boolean
- */
- private static boolean isHost(String value)
- {
-
- try
- {
- new URL("http://" + value);
- }
- catch (MalformedURLException e)
- {
- return false;
- }
- return true;
- }
-
- /**
- * Method isValidAllow.
- * @param value
- * @return boolean
- */
- private static boolean isValidAllow(String value)
- {
- if (value.trim().length() == 0)
- return true;
-
- StringTokenizer st = new StringTokenizer(value, ",");
- while (st.hasMoreElements())
- {
- String str = st.nextToken().trim();
- if (!isToken(str))
- return false;
- }
- return true;
- }
-
- /**
- * Method isValidContentRange.
- * @param value
- * @return boolean
- */
- private static boolean isValidContentRange(String value)
- {
- if (value.length() == 0)
- return false;
- if (!value.startsWith("bytes"))
- return false;
- String str = value.substring("bytes".length()).trim();
-
- int idx = str.indexOf("/");
- if (idx == -1)
- return false;
-
- String byteRange = str.substring(0, idx);
- int idx2 = byteRange.indexOf("-");
- if (idx2 == -1)
- {
- if (!byteRange.equals("*"))
- return false;
- }
- else
- {
- if (!isDidgit(byteRange.substring(0, idx2))
- || !isDidgit(byteRange.substring(idx2 + 1)))
- return false;
- }
-
- if (!isDidgit(str.substring(idx + 1))
- && !str.substring(idx + 1).equals("*"))
- return false;
-
- return true;
- }
-
- /**
- * Method isRange.
- * @param value
- * @return boolean
- */
- private static boolean isRange(String value)
- {
- if (value.length() == 0)
- return false;
- if (!value.startsWith("bytes="))
- return false;
- String strByteRange = value.substring("bytes=".length());
-
- StringTokenizer st = new StringTokenizer(strByteRange, ",");
- while (st.hasMoreElements())
- {
- String str = st.nextToken();
- int idx = str.indexOf("-");
- if (idx == -1)
- return false;
- if (idx == 0)
- {
- if (!isDidgit(str.substring(1)))
- return false;
- }
- else
- {
- if (idx == (str.length() - 1))
- {
- if (!isDidgit(str.substring(0, str.length() - 1)))
- return false;
- }
- else
- {
- if (!isDidgit(str.substring(0, idx))
- || !isDidgit(str.substring(idx + 1)))
- return false;
- }
-
- }
-
- }
- return true;
- }
-
- /**
- * Method isValidTE.
- * @param value
- * @return boolean
- */
- private static boolean isValidTE(String value)
- {
- if (value.trim().length() == 0)
- return true;
-
- StringTokenizer st = new StringTokenizer(value, ",");
- while (st.hasMoreElements())
- {
- String str = st.nextToken().trim();
- if (st.equals("trailers"))
- return true;
-
- int idx = str.indexOf(";");
- if (idx == -1)
- {
- if (!isLanguageRange(str))
- return false;
- }
- else
- {
- String _1 = str.substring(0, idx).trim();
- String _2 = str.substring(idx + 1).trim();
- if (!isLanguageRange(_1))
- return false;
- if (!isQAndQValue(_2))
- return false;
- }
-
- }
-
- return true;
- }
-
- /**
- * Method isValidUserAgent.
- * @param value
- * @return boolean
- */
- private static boolean isValidUserAgent(String value)
- {
- if (value.length() == 0)
- return false;
- StringTokenizer st = new StringTokenizer(value, " ");
- while (st.hasMoreElements())
- {
- String str = st.nextToken();
- if (!isProduct(str) && !isComment(str))
- return false;
-
- }
-
- return true;
- }
-
- /**
- * Method isComment.
- * @param str
- * @return boolean
- */
- private static boolean isComment(String str)
- {
- if (BasicRules.getLastComment(str, 0) != str.length())
- return false;
- return true;
- }
-
- /**
- * Method isValidAcceptLanguage.
- * @param value
- * @return boolean
- */
- private static boolean isValidAcceptLanguage(String value)
- {
- if (value.trim().length() == 0)
- return false;
-
- StringTokenizer st = new StringTokenizer(value, ",");
- while (st.hasMoreElements())
- {
- String str = st.nextToken().trim();
- int idx = str.indexOf(";");
- if (idx == -1)
- {
- if (!isToken(str))
- return false;
- }
- else
- {
- String _1 = str.substring(0, idx).trim();
- String _2 = str.substring(idx + 1).trim();
- if (!isToken(_1))
- return false;
- if (!isAcceptParams(_2))
- return false;
- }
-
- }
-
- return true;
- }
-
- /**
- * Method isLanguageRange.
- * @param str
- * @return boolean
- */
- private static boolean isLanguageRange(String str)
- {
- if (str.trim().equals("*"))
- return true;
- StringTokenizer st = new StringTokenizer(str, "-");
- while (st.hasMoreElements())
- {
- if (!is8ALPHA(st.nextToken()))
- return false;
- }
- return true;
- }
-
- /**
- * Method isValidAcceptEncoding.
- * @param value
- * @return boolean
- */
- private static boolean isValidAcceptEncoding(String value)
- {
- if (value.trim().length() == 0)
- return false;
-
- StringTokenizer st = new StringTokenizer(value, ",");
- while (st.hasMoreElements())
- {
- String str = st.nextToken().trim();
- int idx = str.indexOf(";");
- if (idx == -1)
- {
- if (!isToken(str) && !str.equals("*"))
- return false;
- }
- else
- {
- String _1 = str.substring(0, idx).trim();
- String _2 = str.substring(idx + 1).trim();
-
- if ((!isToken(_1) && !_1.equals("*")))
- return false;
- if (!isQAndQValue(_2))
- return false;
- }
-
- }
-
- return true;
- }
-
- /**
- * Method isValidAcceptCharSet.
- * @param value
- * @return boolean
- */
- private static boolean isValidAcceptCharSet(String value)
- {
- if (value.trim().length() == 0)
- return false;
-
- StringTokenizer st = new StringTokenizer(value, ",");
- while (st.hasMoreElements())
- {
- String str = st.nextToken().trim();
- int idx = str.indexOf(";");
- if (idx == -1)
- {
- if (!isToken(str) && !str.equals("*"))
- return false;
- }
- else
- {
- String _1 = str.substring(0, idx).trim();
- String _2 = str.substring(idx + 1).trim();
-
- if ((!isToken(_1) && !_1.equals("*")))
- return false;
- if (!isQAndQValue(_2))
- return false;
- }
-
- }
-
- return true;
- }
-
- /**
- * Method isValidAccept.
- * @param value
- * @return boolean
- */
- private static boolean isValidAccept(String value)
- {
- if (value.trim().length() == 0)
- return true;
-
- StringTokenizer st = new StringTokenizer(value, ",");
- while (st.hasMoreElements())
- {
- String str = st.nextToken().trim();
- int idx = str.indexOf(";");
- if (idx == -1)
- {
- if (!isMediaRange(str))
- return false;
- }
- else
- {
- if (!isMediaRange(str.substring(0, idx).trim())
- || !isAcceptParams(str.substring(idx + 1).trim()))
- return false;
-
- }
-
- }
- return true;
- }
-
- /**
- * Method isAcceptParams.
- * @param string
- * @return boolean
- */
- private static boolean isAcceptParams(String string)
- {
- if (string.trim().length() == 0)
- return false;
-
- StringTokenizer st = new StringTokenizer(string, ";");
- String str = st.nextToken();
-
- int idx = str.indexOf("=");
- if (idx == -1)
- {
- if (str.equals("q") || !isToken(str))
- return false;
- }
- else
- {
- if (str.substring(0, idx).equals("q"))
- {
- if (!isQValue(str.substring(idx + 1)))
- return false;
- }
- else
- {
- if (!isParameterWithoutValue(str))
- return false;
- }
- }
-
- while (st.hasMoreElements())
- {
- str = st.nextToken();
- if (!isParameterWithoutValue(str))
- return false;
- }
- return true;
- }
-
- /**
- * Method isQAndQValue.
- * @param str
- * @return boolean
- */
- private static boolean isQAndQValue(String str)
- {
- str = str.trim();
- if (!str.trim().startsWith("q="))
- return false;
- if (!isQValue(str.substring("q=".length())))
- return false;
- return true;
- }
-
- /**
- * Method isQValue.
- * @param string
- * @return boolean
- */
- private static boolean isQValue(String string)
- {
- if (string.trim().length() == 0)
- return false;
-
- int idx = string.indexOf(".");
- if (idx == -1)
- {
- if (!"0".equals(string) && !"1".equals(string))
- return false;
- }
- else
- {
- String strDig = string.substring(idx + 1);
- if (strDig.length() > 3)
- return false;
-
- if (string.substring(0, idx).equals("0"))
- {
- if (!isDidgit(strDig))
- return false;
-
- }
- else
- {
- if (!string.substring(0, idx).equals("1"))
- return false;
-
- for (int i = 0; i < strDig.length(); i++)
- {
- if (strDig.charAt(i) != '0')
- return false;
- }
- }
-
- }
- return true;
- }
-
- /**
- * Method isMediaRange.
- * @param str
- * @return boolean
- */
- private static boolean isMediaRange(String str)
- {
- if (str.trim().length() == 0)
- return false;
-
- int idx = str.indexOf("/");
- if (idx == -1)
- return false;
-
- if (!isToken(str.substring(0, idx)) && !str.substring(0, idx).equals("*"))
- return false;
- if (!isToken(str.substring(idx + 1))
- && !str.substring(idx + 1).equals("*"))
- return false;
-
- return true;
- }
-
- /**
- * Method isEntityTag.
- * @param value
- * @return boolean
- */
- private static boolean isEntityTag(String value)
- {
-
- int idx = 0;
- if (value.startsWith("W/"))
- idx = 2;
- if (!isQuotedString(value.substring(idx)))
- return false;
- return true;
- }
-
- /**
- * Method isExpectation.
- * @param value
- * @return boolean
- */
- private static boolean isExpectation(String value)
- {
- if (value.equals("100-continue"))
- return true;
-
- StringTokenizer st = new StringTokenizer(value, ";");
- while (st.hasMoreElements())
- {
- if (!isParameterWithoutValue(st.nextToken()))
- return false;
- }
-
- return true;
- }
-
- /**
- * Method isCredentials.
- * @param value
- * @return boolean
- */
- private static boolean isCredentials(String value)
- {
- StringTokenizer st = new StringTokenizer(value, " ");
- if (!isToken(st.nextToken()))
- return false;
-
- while (st.hasMoreElements())
- {
- String param = st.nextToken(",");
- if (!isParameter(param))
- return false;
- }
- return true;
- }
-
- /**
- * Method isProduct.
- * @param value
- * @return boolean
- */
- private static boolean isProduct(String value)
- {
- int idx = value.indexOf("/");
- if (idx == -1)
- {
- if (!isToken(value))
- return false;
- }
- else
- {
- if (!isToken(value.substring(0, idx))
- || !isToken(value.substring(idx + 1)))
- return false;
- }
- return true;
- }
-
- /**
- * Method isTransferCoding.
- * @param value
- * @return boolean
- */
- private static boolean isTransferCoding(String value)
- {
- if (value.equals("chunked"))
- {
- return true;
- }
- else
- {
- StringTokenizer st = new StringTokenizer(value, ";");
- if (!isToken(st.nextToken()))
- return false;
-
- while (st.hasMoreElements())
- {
- if (!isParameter(st.nextToken()))
- return false;
- }
-
- }
-
- return true;
- }
-
- /**
- * Method isParameter.
- * @param string
- * @return boolean
- */
- private static boolean isParameter(String string)
- {
-
- // check parameter
- int idx = string.indexOf("=");
- if (!isToken(string.substring(0, idx)))
- return false;
-
- String parValue = string.substring(idx + 1);
- if (!isToken(parValue) && !isQuotedString(parValue))
- return false;
-
- return true;
- }
-
- /**
- * Method isParameterWithoutValue.
- * @param string
- * @return boolean
- */
- private static boolean isParameterWithoutValue(String string)
- {
-
- // check parameter
- int idx = string.indexOf("=");
- if (idx != -1)
- {
- if (!isToken(string.substring(0, idx)))
- return false;
- String parValue = string.substring(idx + 1);
- if (!isToken(parValue) && !isQuotedString(parValue))
- return false;
-
- }
- else
- {
- if (!isToken(string))
- return false;
- }
-
- return true;
- }
-
- /**
- * Method isPragmaDerective.
- * @param value
- * @return boolean
- */
- private static boolean isPragmaDerective(String value)
- {
- if (value.equals("no-cache"))
- return true;
- else
- {
- int idx = value.indexOf("=");
- if (idx == -1)
- {
- if (isToken(value))
- return true;
- }
- else
- {
- String str = value.substring(idx + 1);
- if (isToken(value.substring(0, idx))
- && (isToken(str) || isQuotedString(str)))
- return true;
- }
- }
- return true;
- }
-
- /**
- * Method isHTTPDate.
- * @param value
- * @return boolean
- */
- private static boolean isHTTPDate(String value)
- {
-
- String rfc1123_date = "EEE, dd MMM yyyy hh:mm:ss 'GMT'";
- String rfc850_date = "EEEE, dd-MMM-yy hh:mm:ss 'GMT'";
- String asctime_date = "EEE MMM d hh:mm:ss yyyy";
-
- try
- {
- SimpleDateFormat sdf = new SimpleDateFormat(rfc1123_date, Locale.US);
- if (sdf.parse(value) != null)
- return true;
- }
- catch (ParseException e)
- {
- }
-
- try
- {
- SimpleDateFormat sdf = new SimpleDateFormat(rfc850_date, Locale.US);
- if (sdf.parse(value) != null)
- return true;
- }
- catch (ParseException e)
- {
- }
-
- try
- {
- SimpleDateFormat sdf = new SimpleDateFormat(asctime_date, Locale.US);
- if (sdf.parse(value) != null)
- return true;
- }
- catch (ParseException e)
- {
- }
-
- return false;
-
- }
-
- /**
- * Method isURI.
- * @param value
- * @return boolean
- */
- private static boolean isURI(String value)
- {
- try
- {
- new URL(value);
- }
- catch (MalformedURLException e)
- {
- try
- {
- new URL("http://localhost" + value);
- }
- catch (MalformedURLException e2)
- {
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * Method isLanguageTag.
- * @param value
- * @return boolean
- */
- private static boolean isLanguageTag(String value)
- {
- int idx = value.indexOf("-");
- if (idx == -1)
- {
- return is8ALPHA(value);
- }
- else
- {
- if (!is8ALPHA(value.substring(0, idx))
- || !is8ALPHA(value.substring(idx + 1)))
- return false;
- else
- return true;
-
- }
- }
-
- /**
- * Method is8ALPHA.
- * @param string
- * @return boolean
- */
- private static boolean is8ALPHA(String string)
- {
- if (string.length() > 8 || !isALPHA(string))
- return false;
- else
- return true;
- }
-
- /**
- * Method isALPHA.
- * @param string
- * @return boolean
- */
- private static boolean isALPHA(String string)
- {
- for (int i = 0; i < string.length(); i++)
- {
- if (!BasicRules.isCHAR(string.charAt(i)))
- return false;
- }
-
- return true;
- }
-
- /**
- * Method isDidgit.
- * @param value
- * @return boolean
- */
- private static boolean isDidgit(String value)
- {
- if (value.length() == 0)
- return false;
- char[] chs = value.toCharArray();
- for (int i = 0; i < chs.length; i++)
- {
- if (chs[i] < '0' || chs[i] > '9')
- return false;
- }
-
- return true;
- }
-
- /**
- * Method isMediaType.
- * @param value
- * @return boolean
- */
- private static boolean isMediaType(String value)
- {
- StringTokenizer st = new StringTokenizer(value, ";");
- String mediaType = st.nextToken();
-
- int idx = mediaType.indexOf("/");
- if (!isToken(mediaType.substring(0, idx))
- || !isToken(mediaType.substring(idx + 1)))
- {
- return false;
- }
-
- while (st.hasMoreElements())
- {
- if (!isParameter(st.nextToken(";").trim()))
- return false;
- }
- return true;
- }
-
- /**
- * Method isQuotedString.
- * @param parValue
- * @return boolean
- */
- private static boolean isQuotedString(String parValue)
- {
- if (BasicRules.getLastQuotedString(parValue, 0) != parValue.length())
- {
- return false;
- }
- return true;
- }
-
- /**
- * Method isToken.
- * @param value
- * @return boolean
- */
- private static boolean isToken(String value)
- {
- return BasicRules.isToken(value);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/JavaEncoding.properties b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/JavaEncoding.properties
deleted file mode 100644
index 42935366a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/JavaEncoding.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-# /**
-# * <copyright>
-# *
-# * Copyright (c) 2002-2003 IBM Corporation, 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
-# * BeaconIT - Initial API and implementation
-# * </copyright>
-# */
-## I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
-## Property file used to get JavaVM supported character encoding.
-
-ISO8859_1=ISO8859_1
-ISO8859-1=ISO8859_1
-utf8=UTF8
-utf-8=UTF8
-UTF-8=UTF8
-utf16=UTF-16
-utf-16=UTF-16
-UTF16=UTF-16
-
-##
-Shift_JIS=Windows-31J
-
-MS932=Windows-31J
-#SJIS=Shift_JIS \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/MIMEConstants.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/MIMEConstants.java
deleted file mode 100644
index e94b4b4ac..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/MIMEConstants.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-/**
- * A set of HTTP values that are defined by Network Working Group.
- * http://www.ietf.org/
- *
- * @version 1.0
- * @author Ilya Kanonirov (kio@isg.axmor.com)
- */
-public class MIMEConstants {
- public static final String HEADER_CONTENT_ID = "Content-ID";
- public static final String HEADER_CONTENT_TRANSFER_ENCODING = "Content-Transfer-Encoding";
- public static final String HEADER_CONTENT_TYPE = "Content-Type";
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/MIMEUtils.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/MIMEUtils.java
deleted file mode 100644
index 76fd947f7..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/MIMEUtils.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-
-/**
- * Set of HTTPL related utilities.
- *
- * @version 1.0.1
- * @author Peter Brittenham
- */
-
-public final class MIMEUtils
-{
-
- /**
- * Utility to present MIME header information as attribute-value pairs,
- * based on ':' as attribute-value separator.
- * @param mimeHeaderString an MIME header string.
- * @param separators attribute-value separator list.
- * @return MIME header information as attribute-value pairs.
- * @throws WSIException if unable to create MIME header information
- * as attribute-value pairs.
- */
- public static Map getMimeHeaderTokens(String mimeHeaderString, String separators)
- throws WSIException
- {
- StringTokenizer tokenizer = new StringTokenizer(mimeHeaderString, "\n\r\f");
- Map map = new HashMap();
- while (tokenizer.hasMoreTokens())
- {
- String line = tokenizer.nextToken();
- int index = line.indexOf(separators);
- if (index > 0 && index < line.length() - 1)
- {
- map.put(line.substring(0, index).toUpperCase(), line.substring(index + 1).trim());
- }
- }
- return map;
- }
-
- /**
- * Utility to take sub attribute value from MIME header
- * @param mimeHeaderString an MIME header string.
- * @param attributeName attribute name.
- * @param subAttributeName sub attribute name.
- * @return sub attribute value from MIME header.
- * @throws WSIException if unable to get sub attribute value from MIME header.
- */
- public static String getMimeHeaderSubAttribute(String mimeHeaderString,
- String attributeName, String subAttributeName)
- throws WSIException
- {
- // get attribute value
- String value =
- (String) getMimeHeaderTokens(mimeHeaderString,":").get(attributeName.toUpperCase());
- if(value != null)
- {
- // search sub attribute token
- int idxQ = value.toUpperCase().indexOf(subAttributeName.toUpperCase()+"=\"");
- int idx = value.toUpperCase().indexOf(subAttributeName.toUpperCase()+"=");
- // if attribute is quoted
- if (idxQ != -1)
- {
- idxQ += (subAttributeName+"=\"").length();
- int eIdxQ = value.indexOf("\"", idxQ);
- if (eIdxQ != -1)
- {
- return value.substring(idxQ, eIdxQ);
- }
- else
- {
- return null;
- }
- }
- // if attribute is not quoted
- else if (idx != -1)
- {
- idx += (subAttributeName+"=").length();
- int eIdx = -1;
- // find end space separator
- if ((eIdx = value.indexOf(" ", idx)) != -1)
- {
- return value.substring(idx, eIdx);
- }
- // find coma separator
- else if ((eIdx = value.indexOf(";", idx)) != -1)
- {
- return value.substring(idx, eIdx);
- }
- // this is last attribute
- else
- {
- return value.substring(idx);
- }
- }
- // if attribute do not found
- else
- {
- return null;
- }
- }
- return value;
- }
-
- /**
- * Utility to take attribute value from MIME header
- * @param mimeHeaderString an MIME header string.
- * @param attributeName attribute name.
- * @return attribute value from MIME header.
- * @throws WSIException if unable to get attribute value from MIME header.
- */
- public static String getMimeHeaderAttribute(String mimeHeaderString,
- String attributeName)
- throws WSIException
- {
- String attributeValue =
- (String) getMimeHeaderTokens(mimeHeaderString,":").get(attributeName.toUpperCase());
- // get first token
- if((attributeValue != null) && (attributeValue.indexOf(";") != -1)) {
- attributeValue = attributeValue.substring(0, attributeValue.indexOf(";"));
- }
- return attributeValue;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/MessageList.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/MessageList.java
deleted file mode 100644
index c04f091e4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/MessageList.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-import java.util.ResourceBundle;
-
-/**
- * This class creates and maintains a message list.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class MessageList
-{
- /**
- * Message resource bundle.
- */
- private ResourceBundle messageResourceBundle = null;
-
- /**
- * Do not allow this object to be created with null constructor.
- */
- private MessageList()
- {
- }
-
- /**
- * Constructor for MessageList.
- * @param resourceBundleName a resource bundle name.
- */
- public MessageList(String resourceBundleName)
- {
- this.messageResourceBundle = ResourceBundle.getBundle(resourceBundleName);
- }
-
- /**
- * Get a message from the resource bundle.
- * @param key a key.
- * @param defaultMessage a default message.
- * @return message from the resource bundle.
- */
- public String getMessage(String key, String defaultMessage)
- {
- return getMessage(key, null, defaultMessage);
- }
-
- /**
- * Get a message from the resource bundle.
- * @param key a key.
- * @param messageData message data.
- * @param defaultMessage a default message.
- * @return message from the resource bundle.
- */
- public String getMessage(
- String key,
- String messageData,
- String defaultMessage)
- {
- String message = defaultMessage;
-
- try
- {
- // Get message
- message = messageResourceBundle.getString(key);
- }
-
- catch (Exception e)
- {
- // Ignore and just use default message
- }
-
- if (messageData != null)
- message += " " + messageData;
-
- // Return message
- return message;
- }
-
- /**
- * Print a message from the resource bundle.
- * @param key a key.
- * @param defaultMessage a default message.
- */
- public void printMessage(String key, String defaultMessage)
- {
- printMessage(key, null, defaultMessage);
- }
-
- /**
- * Print a message from the resource bundle.
- * @param key a key.
- * @param messageData message data.
- * @param defaultMessage a default message.
- */
- public void printMessage(
- String key,
- String messageData,
- String defaultMessage)
- {
- // Print message
- System.out.println(getMessage(key, messageData, defaultMessage));
- }
-
- /**
- * Static get message.
- * @param resourceBundleName resource bundle name.
- * @param key a key.
- * @param messageData message data.
- * @param defaultMessage a default message.
- * @return message.
- */
- public static String getMessage(
- String resourceBundleName,
- String key,
- String messageData,
- String defaultMessage)
- {
- String message = defaultMessage;
- ResourceBundle messageResourceBundle = null;
-
- try
- {
- // Get resource bundle
- messageResourceBundle = ResourceBundle.getBundle(resourceBundleName);
-
- // Get message
- message = messageResourceBundle.getString(key);
- }
-
- catch (Exception e)
- {
- // Ignore and just use default message
- }
-
- if (messageData != null)
- message += " " + messageData;
-
- if (!message.endsWith("."))
- message += ".";
-
- // Return message
- return message;
- }
-
- /**
- * Print message.
- * @param resourceBundleName resource bundle name.
- * @param key a key.
- * @param messageData message data.
- * @param defaultMessage a default message.
- */
- public static void printMessage(
- String resourceBundleName,
- String key,
- String messageData,
- String defaultMessage)
- {
- // Print message
- System.out.println(
- getMessage(resourceBundleName, key, messageData, defaultMessage));
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/NullUtil.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/NullUtil.java
deleted file mode 100644
index 487cca321..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/NullUtil.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-/**
- * The utility class to automate null checking.
- *
- * @author Kulik
- */
-public final class NullUtil
-{
- /**
- * The method checks objects on existence and compare with <code>equals</code> method.
- * @param o1 first object.
- * @param o2 second object.
- * @return true if first object is equal to the second object.
- */
- public static boolean equals(Object o1, Object o2)
- {
- return ((o1 == null && o2 == null) || (o1 != null && o1.equals(o2)));
- }
-
- /**
- * The method checks object on existence and returns its string representation with <code>toString()</code> method.
- * @param o source object.
- * @return string representation of object.
- */
- public static String toString(Object o)
- {
- return (o == null) ? null : o.toString();
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/OperationSignature.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/OperationSignature.java
deleted file mode 100644
index 639a3f209..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/OperationSignature.java
+++ /dev/null
@@ -1,788 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLVisitor;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * The class implements mechanism for creating unique signature of operation.
- *
- * @author Kulik
- */
-public final class OperationSignature
-{
- // the flag indicates whether the messages is represented as document style
- // vice versa is not generally true
- private boolean isDocumentStyle = false;
- private boolean isCreated = false;
- private boolean isFault = false;
-
- protected List signature = new LinkedList();
- private Element firstBody = null;
-
- /**
- * Class operates as container for matched operation.
- * @author Kulik
- */
- public final static class OperationMatch
- {
- final private String style;
- final private BindingOperation operation;
- final private List signature;
-
- /**
- * Constructor.
- * @param style operation style.
- * @param signature a signature.
- * @param operation a binding operation.
- */
- protected OperationMatch(
- String style,
- List signature,
- BindingOperation operation)
- {
- this.style = style;
- this.signature = signature;
- this.operation = operation;
- }
- /**
- * Gets operation style.
- * @return operation style.
- */
- public String getOperationStyle()
- {
- return style;
- }
- /**
- * Gets WSDL binding operation object.
- * @return WSDL binding operation object.
- */
- public BindingOperation getOperation()
- {
- return operation;
- }
-
- /**
- * Gets operation signature as list.
- * @return operation signature as list.
- */
- public List getSignature()
- {
- return signature;
- }
- }
-
- /**
- * The class searches BindingOperation by the given OperationSigbnature.
- * @author Kulik
- */
- public final class Visitor implements WSDLVisitor
- {
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Part, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Part obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Service, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Service obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Types, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Types obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Operation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Operation obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Input, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Input obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Output, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Output obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Fault, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Fault obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Binding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Binding obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.BindingOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- BindingOperation obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.BindingInput, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- BindingInput obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.BindingOutput, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- BindingOutput obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(BindingFault, Object, WSDLTraversalContext)
- */
- public void visit(
- BindingFault obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(Import, Object, WSDLTraversalContext)
- */
- public void visit(Import obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(Element, Object, WSDLTraversalContext)
- */
- public void visit(Element obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(Message, Object, WSDLTraversalContext)
- */
- public void visit(Message obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(Port, Object, WSDLTraversalContext)
- */
- public void visit(Port obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(PortType, Object, WSDLTraversalContext)
- */
- public void visit(PortType obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(Definition, Object, WSDLTraversalContext)
- */
- public void visit(Definition obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(ExtensibilityElement, Object, WSDLTraversalContext)
- */
- public void visit(
- ExtensibilityElement obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(SOAPHeader, Object, WSDLTraversalContext)
- */
- public void visit(SOAPHeader obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(SOAPHeaderFault, Object, WSDLTraversalContext)
- */
- public void visit(
- SOAPHeaderFault obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(SOAPFault, Object, WSDLTraversalContext)
- */
- public void visit(SOAPFault obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- private String requiredStyle = null;
- private String soapAction = null;
- private BindingOperation operation = null;
- private TypesRegistry registry = null;
- private boolean isSOAPActionRequired = false;
-
- /**
- * Constructor.
- */
- public Visitor()
- {
- super();
- // TODO Auto-generated constructor stub
- }
-
- /**
- * Constructor.
- * @param requiredStyle required style.
- * @param registry types registry.
- */
- public Visitor(String requiredStyle, TypesRegistry registry)
- {
- this.requiredStyle = requiredStyle;
- this.registry = registry;
- }
-
- /**
- * The method returns matched binding operation.
- * @return BindingOperation
- */
- public BindingOperation getMatchedOperation()
- {
- return operation;
- }
-
- /**
- * The method sets up required operation to be found.
- * The possible values is rpc and document.
- * @param requiredStyle operation style.
- */
- public void setRequiredStyle(String requiredStyle)
- {
- this.requiredStyle = requiredStyle;
- }
-
- /**
- * The method indicates whether SOAP Action be included into operation.
- * signature.
- * @return true if SOAP Action isd required.
- */
- public boolean isSOAPActionRequired()
- {
- return isSOAPActionRequired;
- }
-
- /**
- * Sets SOAP action to be included into signature.
- */
- public void setSOAPActionRequired()
- {
- isSOAPActionRequired = true;
- }
-
- /**
- * internal method.
- */
- public void visit(
- SOAPBinding binding,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style =
- (binding.getStyle() == null)
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : binding.getStyle();
- ctx.addParameter("style", style);
- }
-
- /**
- * internal method.
- */
- public void visit(
- SOAPOperation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- soapAction = null;
- String style = operation.getStyle();
- if (style == null)
- style = (String) ctx.getParameter("style");
- if (!requiredStyle.equals(style))
- ctx.cancelBindingOperationProcessing();
- else
- //if (isSOAPActionRequired)
- soapAction = operation.getSoapActionURI();
- }
-
- /**
- * internal method.
- */
- public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
- {
- // assert parent instanceof BindingInput
- BindingOperation bop = ctx.getBindingOperation();
- if (bop.getOperation() == null
- || bop.getOperation().getInput() == null
- || bop.getOperation().getInput().getMessage() == null)
- return;
-
- Message msg = bop.getOperation().getInput().getMessage();
- List parts =
- WSDLUtil.getParts(bop.getOperation(), msg, body, requiredStyle);
-
- QName additionalName = null;
- // if operation is rpc, add to parts qname qith function name
- if (WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC.equals(requiredStyle))
- {
- // found out target namespace
- String namespace = body.getNamespaceURI();
- if (namespace == null || namespace.length() == 0)
- // !! ATTENTION
- // namespace should be retrieved from service target nameapce
- namespace = ctx.getBinding().getQName().getNamespaceURI();
-
- // insert operation name as first signature part
- additionalName =
- new QName(namespace, ctx.getBindingOperation().getName());
- }
-
- OperationSignature op =
- new OperationSignature(parts, null, registry, false);
-
- if (additionalName != null)
- op.getSignature().add(0, additionalName);
- //if (isSOAPActionRequired)
- //if (soapAction != null)
- if (isSOAPActionRequired && soapAction != null)
- op.getSignature().add(0, soapAction);
- if (op.getSignature().equals(signature))
- {
- // required operation is found
- operation = ctx.getBindingOperation();
- ctx.cancelBindingOperationProcessing();
- ctx.cancelBindingProcessing();
- }
-
- else
- {
- op = new OperationSignature(parts, null, registry, true);
- if (additionalName != null)
- op.getSignature().add(0, additionalName);
-
- //if (isSOAPActionRequired)
- //if (soapAction != null)
- if (isSOAPActionRequired && soapAction != null)
- op.getSignature().add(0, soapAction);
-
- if (op.getSignature().equals(signature))
- {
- // required operation is found
- operation = ctx.getBindingOperation();
- ctx.cancelBindingOperationProcessing();
- ctx.cancelBindingProcessing();
- }
- }
- }
- }
-
- /**
- * The constructor creates OperationSignature for SOAP message.
- * @param doc a Document object.
- */
- public OperationSignature(Document doc)
- {
- Element body =
- XMLUtils.findChildElement(
- doc.getDocumentElement(),
- WSITag.ELEM_SOAP_BODY);
- processParts(body, false);
- isDocumentStyle |= (signature.size() > 1);
- }
-
- /**
- * The constructor creates OperationSIgnature for
- * list of <code>Part</code> objects and given WSDL document within these
- * parts are defined.
- *
- * @param parts a list of Part objects.
- * @param wsdlDocument a WSDL document.
- * @param registry a types registry.
- * @param partial a partial status.
- */
- public OperationSignature(
- List parts,
- Document wsdlDocument,
- TypesRegistry registry,
- boolean partial)
- {
- if (parts != null)
- {
- Iterator it = parts.iterator();
-
- while (it.hasNext())
- {
- Part part = (Part) it.next();
- String localName = (partial) ? part.getName() : null;
- QName typeName = part.getTypeName();
- QName elementName = part.getElementName();
-
- String namespace = "";
-
- // If type name is not null, then a type element was used so it should be an RPC style signature
- if (typeName != null)
- {
- // Part wrappers do not have namespaces
- namespace = "";
-
- if (localName == null)
- localName = typeName.getLocalPart();
- }
-
- // If element name is not null, then it should be a document style signature
- else if (elementName != null)
- {
- namespace = elementName.getNamespaceURI();
-
- if (localName == null)
- localName = elementName.getLocalPart();
- }
-
- signature.add(new QName(namespace, localName));
- }
- }
-
- isCreated = true;
- }
-
- /**
- * The method recreates OperationSignature with assumption that operation is
- * RPC.
- */
- public void createRPCSignature()
- {
- isCreated = false;
- if (firstBody == null)
- return;
- processParts(firstBody, true);
- isDocumentStyle = false;
- }
-
- /**
- * Internal method processes WSDL parts and creates operation signature.
- * @param parent
- */
- private void processParts(Node parent, boolean processWrapper)
- {
- if (parent != null)
- {
- Node n = parent.getFirstChild();
-
- // variable indicates that first tag is processed
- boolean isFirst = true;
- // iterate all bodies
- while (n != null)
- {
- if (Node.ELEMENT_NODE == n.getNodeType())
- {
- if (isFirst && firstBody == null)
- {
- isFirst = false;
- firstBody = (Element) n;
- // check soapenv:fault
- if (XMLUtils.equals(n, WSITag.ELEM_SOAP_FAULT))
- {
- isFault = true;
- isCreated = false;
- return;
- }
- }
-
- String namespace = n.getNamespaceURI();
- String localName = n.getLocalName();
-
- /*I have no idea why this code is in here since it makes no sense at all, so I am commenting it out
- // try to get xsi:tag
- if (XMLUtils.getAttribute((Element) n, WSITag.ATTR_XSI_TYPE) != null) {
- // we suppose that RPC style does not use xsi:type attribute
- isDocumentStyle = true;
- Attr xsiType = XMLUtils.getAttribute((Element) n, WSITag.ATTR_XSI_TYPE);
-
- String xsiValue = xsiType.getNodeValue();
- int i = xsiValue.indexOf(':');
- if (i != -1)
- {
- namespace = XMLUtils.findNamespaceURI(n, xsiValue.substring(0, i));
- localName = xsiValue.substring(i+1);
- }
- }
- */
-
- // If this is rpc-literal and processing a part (not the wrapper), then the part should not have a namespace
- // And if it does, then one of the test assertions will detect it
- if (!isDocumentStyle && processWrapper)
- {
- namespace = "";
- }
-
- if (namespace == null || namespace.length() == 0)
- {
- if (isDocumentStyle)
- {
- //Element firstChild = null;
- Node it = n.getFirstChild();
- while (it != null && !(it instanceof Element))
- it = it.getNextSibling();
- if (it != null)
- namespace = it.getNamespaceURI();
- }
- }
-
- // normalize namespaces. All empty namespaces -> null
- if (namespace != null && namespace.length() == 0)
- namespace = null;
-
- // put part into signature
- signature.add(new QName(namespace, localName));
- }
-
- n = n.getNextSibling();
- }
- }
- else
- {
- isCreated = false; // not found ?
- return;
- }
-
- isCreated = true;
- }
-
- /**
- * Indicates whether operation has document style or RPC.
- * @return true if operation has document style.
- */
- public boolean isDocumentStyle()
- {
- return isDocumentStyle;
- }
-
- /**
- * Indicates whether WSDL fault parts should be included into signature or
- * not.
- * @return true if WSDL fault parts should be included into signature.
- */
- public boolean isFault()
- {
- return isFault;
- }
-
- /**
- * Indicates that operation signature was created.
- * @return true if operation signature was created.
- */
- public boolean isCreated()
- {
- return isCreated;
- }
-
- /**
- * Gets operation signature created for SOAP message.
- * @return operation signature created for SOAP message.
- */
- public List getSignature()
- {
- return signature;
- }
-
- /**
- * @see java.lang.Object#hashCode()
- */
- public int hashCode()
- {
- return signature.hashCode();
- }
-
- /**
- * @see java.lang.Object#equals(Object)
- */
- public boolean equals(Object o)
- {
- if (o instanceof OperationSignature)
- return signature.equals(((OperationSignature) o).getSignature());
- return false;
- }
-
- /**
- * The method matches operation based on the given SOAP message request,
- * WSDL binding, and soapAction.
- *
- * @param inputMessage an SOAP message request.
- * @param soapAction a soap action.
- * @param binding a WSDL binding.
- * @param registry a types registry.
- * @return OperationMatch object.
- */
- public static OperationMatch matchOperation(
- Document inputMessage,
- String soapAction,
- Binding binding,
- TypesRegistry registry)
- {
- return matchOperation(inputMessage, soapAction, binding, registry, true);
- }
-
- /**
- * The method matches operation based on the given SOAP message request,
- * WSDL binding, and soapAction.
- *
- * @param inputMessage SOAP message request.
- * @param soapAction a soap action.
- * @param binding a WSDL binding.
- * @param registry a types registry.
- * @param soapActionRequired must process the soapAction value even if it is null
- * @return OperationMatch object.
- */
- public static OperationMatch matchOperation(
- Document inputMessage,
- String soapAction,
- Binding binding,
- TypesRegistry registry,
- boolean soapActionRequired)
- {
- // Parse request message
- OperationSignature signature = new OperationSignature(inputMessage);
- if (!signature.isCreated())
- return null;
-
- // first of all looking for document style
- // because rpc style is subset of document style
- OperationSignature.Visitor resolver =
- signature.new Visitor(WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC, registry);
-
- // normalize SOAPAction
- if (soapAction != null
- && soapAction.length() > 1
- && soapAction.charAt(0) == '"'
- && soapAction.charAt(soapAction.length() - 1) == '"')
- soapAction = soapAction.substring(1, soapAction.length() - 1);
-
- // if soap action URI processing required
- // if soap action URI processing required
- // analyze SOAPAction after parts being processed
- // put SOAPAction into signature
- //if (soapAction != null && soapAction.length() > 0) {
- if (soapAction != null)
- {
- signature.getSignature().add(0, soapAction);
- }
-
- if (soapActionRequired)
- resolver.setSOAPActionRequired();
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(resolver);
- traversal.setVisitor(resolver);
- traversal.visitSOAPBinding(true);
- traversal.visitSOAPBody(true);
- traversal.visitSOAPOperation(true);
-
- traversal.ignoreReferences();
- traversal.ignoreBindingOutput();
- traversal.traverse(binding);
-
- BindingOperation operation = resolver.getMatchedOperation();
- if (operation == null && !signature.isDocumentStyle())
- {
- resolver.setRequiredStyle(WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC);
- signature.createRPCSignature();
- traversal.traverse(binding);
- operation = resolver.getMatchedOperation();
- if (operation == null)
- return null;
- }
-
- return new OperationMatch(
- resolver.requiredStyle,
- signature.getSignature(),
- resolver.getMatchedOperation());
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/Pair.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/Pair.java
deleted file mode 100644
index 471a192d0..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/Pair.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-/**
- * The class represents pair of values.
- *
- * @author Kulik
- */
-public final class Pair
-{
- final private Object first;
- final private Object second;
-
- /**
- * Constructor.
- * @param first object
- * @param second object.
- */
- public Pair(Object first, Object second)
- {
- this.first = first;
- this.second = second;
- }
-
- /**
- * Gets first object.
- * @return Object
- */
- public Object getFirst()
- {
- return first;
- }
-
- /**
- * Gets second object.
- * @return Object
- */
- public Object getSecond()
- {
- return second;
- }
-
- /**
- * @see java.lang.Object#equals(Object)
- */
- public boolean equals(Object o)
- {
- if (o == null || !(o instanceof Pair))
- return false;
- Pair p = (Pair) o;
- return (
- NullUtil.equals(p.getFirst(), first)
- && NullUtil.equals(p.getSecond(), second));
- }
-
- /**
- * @see java.lang.Object#hashCode()
- */
- public int hashCode()
- {
- int code = 0;
- if (first != null)
- code += first.hashCode();
- if (second != null)
- code += second.hashCode();
- return code;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/SetCookie2Validator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/SetCookie2Validator.java
deleted file mode 100644
index 5982e3a85..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/SetCookie2Validator.java
+++ /dev/null
@@ -1,629 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Vector;
-
-/**
- * This class checks the cookies conform to RFC2965.
- *
- * @author Baltak
- */
-public class SetCookie2Validator
-{
-
- private Vector commentVect = new Vector();
- private Vector commentURLVect = new Vector();
- private Vector domainVect = new Vector();
- private Vector max_AgeVect = new Vector();
- private Vector pathVect = new Vector();
- private Vector portVect = new Vector();
- private Vector versionVect = new Vector();
-
- private boolean path = false;
-
- /**
- * Method resetFlags.
- */
- private void resetPath()
- {
- path = false;
- }
-
- /**
- * Check if the string satisfy the "Set-Cookie2" header value.
- * @param str String
- * @return boolean
- */
- public boolean isSetCookie2(String str)
- {
-
- try
- {
- int index = 0;
- int newIndex = 0;
- while (true)
- {
- newIndex = getLastCookie(str, index);
- if (index == newIndex)
- return false;
- // skip spaces
- index = newIndex;
- index = skipSpaces(str, index);
- if (index == str.length())
- {
- return true;
- }
- else
- {
- if (str.charAt(index) != ',')
- return false;
- index++;
- // skip spaces
- index = skipSpaces(str, index);
- }
-
- }
- }
- catch (Throwable th)
- {
- return false;
- }
-
- }
-
- /**
- * Method getLastCookie.
- * @param str
- * @param startIndex
- * @return int
- */
- private int getLastCookie(String str, int startIndex)
- {
-
- resetPath();
-
- int index = startIndex;
- // find token
- int newIndex = BasicRules.getLastToken(str, index);
- if (index == newIndex)
- return startIndex;
-
- index = newIndex;
- if (index == str.length())
- return startIndex;
-
- // if not '=' - error
- if (str.charAt(index) != '=')
- return startIndex;
-
- index++;
- if (index == str.length())
- return startIndex;
-
- // get value
- newIndex = getLastValue(str, index);
- if (index == newIndex)
- return startIndex;
-
- while (true)
- {
- index = newIndex;
- if (index == str.length())
- return index;
-
- if (str.charAt(index) != ';')
- return index;
- index++;
- // skip spaces
- index = skipSpaces(str, index);
-
- if (index == str.length())
- return startIndex;
- newIndex = getLastSetCookieAv(str, index);
- if (index == newIndex)
- return startIndex;
- }
- }
-
- /**
- * Method getLastValue.
- * @param str
- * @param startIndex
- * @return int
- */
- private int getLastValue(String str, int startIndex)
- {
-
- int index = BasicRules.getLastToken(str, startIndex);
- if (index != startIndex)
- return index;
- index = BasicRules.getLastQuotedString(str, startIndex);
- if (index != startIndex)
- return index;
-
- return startIndex;
- }
-
- /**
- * Method getLastSetCookieAv.
- * @param str
- * @param startIndex
- * @return int
- */
- private int getLastSetCookieAv(String str, int startIndex)
- {
-
- int index = startIndex;
- int newIndex = 0;
-
- if (str.startsWith("Comment=", index))
- {
- index += "Comment=".length();
- newIndex = getLastValue(str, index);
- if (index == newIndex)
- return startIndex;
- // debug ->
- String qqq = getValue(str, index, newIndex);
- commentVect.add(qqq);
- // debug <-
- return newIndex;
- }
- else if (str.startsWith("CommentURL=", index))
- {
- index += "CommentURL=".length();
-
- if (str.charAt(index) != '\"')
- return startIndex;
-
- newIndex = str.indexOf('\"', index + 1);
- if (newIndex == -1)
- return startIndex;
- try
- {
- new URL(str.substring(index + 1, newIndex));
- }
- catch (MalformedURLException mue)
- {
- return startIndex;
- }
- // debug ->
- String qqq = getValue(str, index + 1, newIndex);
- commentURLVect.add(qqq);
- // debug <-
- newIndex++;
- return newIndex;
- }
- else if (str.startsWith("Discard", index))
- {
- return startIndex + "Discard".length();
- }
- else if (str.startsWith("Domain=", index))
- {
- index += "Domain=".length();
-
- newIndex = getLastValue(str, index);
- if (index == newIndex)
- return startIndex;
-
- // debug ->
- String qqq = getValue(str, index, newIndex);
- domainVect.add(qqq);
- // debug <-
- return newIndex;
- }
- else if (str.startsWith("Max-Age=", index))
- {
- index += "Max-Age=".length();
-
- newIndex = getLastValue(str, index);
- if (index == newIndex)
- return startIndex;
-
- String qqq = getValue(str, index, newIndex);
- try
- {
- Integer.parseInt(qqq);
- }
- catch (NumberFormatException nfe)
- {
- return startIndex;
- }
- // debug ->
- max_AgeVect.add(qqq);
- // debug <-
- return newIndex;
- }
- else if (str.startsWith("Path=", index))
- {
- index += "Path=".length();
-
- newIndex = getLastValue(str, index);
- if (index == newIndex)
- return startIndex;
-
- String qqq = getValue(str, index, newIndex);
- if (path == false)
- pathVect.add(qqq);
- path = true;
- return newIndex;
- }
- else if (str.startsWith("Port", index))
- {
- index += "Port".length();
- if (str.charAt(index) != '=')
- return index;
-
- index++;
- if (str.charAt(index) != '\"')
- return startIndex;
-
- index++;
- newIndex = getLastPortList(str, index);
- if (index == newIndex)
- return startIndex;
-
- // debug ->
- String qqq = getValue(str, index, newIndex);
- portVect.add(qqq);
- // debug <-
-
- index = newIndex;
- if (str.charAt(index) != '\"')
- return startIndex;
- index++;
- return index;
-
- }
- else if (str.startsWith("Secure", index))
- {
- return startIndex + "Secure".length();
- }
- else if (str.startsWith("Version=", index))
- {
- index += "Version=".length();
-
- newIndex = getLastDIGIT(str, index);
- if (index == newIndex)
- return startIndex;
-
- // debug ->
- String qqq = getValue(str, index, newIndex);
- versionVect.add(qqq);
- // debug <-
- return newIndex;
- }
- else
- {
- return startIndex;
- }
- }
-
- /**
- * Method getLastPortList.
- * @param str
- * @param startIndex
- * @return int
- */
- private int getLastPortList(String str, int startIndex)
- {
- int index = startIndex;
- int newIndex = 0;
-
- while (true)
- {
- newIndex = getLastDIGIT(str, index);
- if (index == newIndex)
- return startIndex;
-
- index = newIndex;
- if (str.charAt(index) != ',')
- return index;
- index++;
- }
- }
-
- /**
- * Method getLastDIGIT.
- * @param str
- * @param startIndex
- * @return int
- */
- private int getLastDIGIT(String str, int startIndex)
- {
- int index = startIndex;
- for (; index < str.length(); index++)
- {
- if (!BasicRules.isDIGIT(str.charAt(index)))
- return index;
- }
- return index;
- }
-
- /**
- * Check if the string satisfy the "Cookie" header value.
- * @param str String
- * @return boolean
- */
- public boolean isCookie(String str)
- {
- int index = 0;
- int newIndex = 0;
-
- try
- {
- newIndex = getLastVersion(str, index);
- if (index == newIndex)
- return false;
-
- index = newIndex;
- index = skipSpaces(str, index);
- if (str.charAt(index) != ';' && str.charAt(index) != ',')
- return false;
-
- index++;
- index = skipSpaces(str, index);
-
- while (true)
- {
- newIndex = getLastCookiesValue(str, index);
- if (index == newIndex)
- return false;
-
- index = newIndex;
- if (index == str.length())
- return true;
-
- if (str.charAt(index) != ';' && str.charAt(index) != ',')
- return false;
- index++;
- index = skipSpaces(str, index);
- }
- }
- catch (Throwable th)
- {
- return false;
- }
- }
-
- /**
- * Method getLastVersion.
- * @param str
- * @param startIndex
- * @return int
- */
- private int getLastVersion(String str, int startIndex)
- {
- int index = startIndex;
- int newIndex = 0;
- if (!str.startsWith("$Version="))
- return startIndex;
- index += "$Version=".length();
- newIndex = getLastValue(str, index);
- if (index == newIndex)
- return startIndex;
-
- return newIndex;
- }
-
- /**
- * Method getLastCookiesValue.
- * @param str
- * @param startIndex
- * @return int
- */
- private int getLastCookiesValue(String str, int startIndex)
- {
- int index = startIndex;
- int newIndex = 0;
- int oldIndex = 0;
-
- // find token
- newIndex = BasicRules.getLastToken(str, index);
- if (index == newIndex)
- return startIndex;
-
- index = newIndex;
- if (index == str.length())
- return startIndex;
-
- // if not '=' - error
- if (str.charAt(index) != '=')
- return startIndex;
-
- index++;
- if (index == str.length())
- return startIndex;
-
- // get value
- newIndex = getLastValue(str, index);
- if (index == newIndex)
- return startIndex;
-
- index = newIndex;
- if (index == str.length())
- return index;
-
- if (str.charAt(index) != ';')
- return index;
-
- // process [";" path] [";" domain] [";" port]
- oldIndex = index;
- index++;
- if (index == str.length())
- return startIndex;
-
- index = skipSpaces(str, index);
- if (index == str.length())
- return startIndex;
-
- // process path
- newIndex = getLastPath(str, index);
- if (index != newIndex)
- {
- index = newIndex;
- if (index == str.length())
- return index;
-
- if (str.charAt(index) != ';')
- return index;
-
- oldIndex = index;
- index++;
- if (index == str.length())
- return startIndex;
-
- index = skipSpaces(str, index);
- if (index == str.length())
- return startIndex;
-
- }
-
- // process domain
- newIndex = getLastDomain(str, index);
- if (index != newIndex)
- {
- index = newIndex;
- if (index == str.length())
- return index;
-
- if (str.charAt(index) != ';')
- return index;
-
- oldIndex = index;
- index++;
- if (index == str.length())
- return startIndex;
-
- index = skipSpaces(str, index);
- if (index == str.length())
- return startIndex;
-
- }
-
- // process port
- newIndex = getLastPort(str, index);
- if (index != newIndex)
- return newIndex;
- else
- return oldIndex;
- }
-
- /**
- * Method getLastPath.
- * @param str
- * @param startIndex
- * @return int
- */
- private int getLastPath(String str, int startIndex)
- {
- int index = startIndex;
- int newIndex = 0;
-
- if (!str.startsWith("$Path=", index))
- return startIndex;
- index += "$Path=".length();
- newIndex = getLastValue(str, index);
- if (index == newIndex)
- return startIndex;
-
- return newIndex;
- }
-
- /**
- * Method getLastDomain.
- * @param str
- * @param startIndex
- * @return int
- */
- private int getLastDomain(String str, int startIndex)
- {
- int index = startIndex;
- int newIndex = 0;
-
- if (!str.startsWith("$Domain=", index))
- return startIndex;
- index += "$Domain=".length();
- newIndex = getLastValue(str, index);
- if (index == newIndex)
- return startIndex;
-
- return newIndex;
- }
-
- /**
- * Method getLastPort.
- * @param str
- * @param startIndex
- * @return int
- */
- private int getLastPort(String str, int startIndex)
- {
- int index = startIndex;
- int newIndex = 0;
-
- if (!str.startsWith("$Port", index))
- return startIndex;
-
- index += "$Port".length();
- if (str.charAt(index) != '=')
- return index;
-
- index++;
- if (str.charAt(index) != '\"')
- return startIndex;
-
- index++;
- newIndex = getLastPortList(str, index);
- if (index == newIndex)
- return startIndex;
-
- index = newIndex;
- if (str.charAt(index) != '\"')
- return startIndex;
- index++;
- return index;
- }
-
- /**
- * Method skipSpaces.
- * @param str
- * @param index
- * @return int
- */
- private int skipSpaces(String str, int index)
- {
- for (; index < str.length(); index++)
- if (!BasicRules.isSP(str.charAt(index)))
- break;
- return index;
- }
-
- /**
- * Method getValue.
- * @param str
- * @param beg
- * @param end
- * @return String
- */
- private String getValue(String str, int beg, int end)
- {
- String qqq = null;
- if (str.charAt(beg) == '\"')
- qqq = str.substring(beg + 1, end - 1);
- else
- qqq = str.substring(beg, end);
- return qqq;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/StringTokenizer.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/StringTokenizer.java
deleted file mode 100644
index 5c9539814..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/StringTokenizer.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-/**
- * String tokenizer.
- *
- * @author: Kulik
- */
-final public class StringTokenizer
-{
- private char[] spaceDel;
- private char[] del;
- private char[] allDel;
-
- /**
- * Enumeration of strings.
- * @author Kulik
- */
- private class StringTokenizerEnumeration implements java.util.Enumeration
- {
- private final char[] str;
- private final int size;
- private int index;
-
- /**
- * Constructor.
- * @param s
- */
- StringTokenizerEnumeration(char[] s)
- {
- str = s;
- size = str.length;
- index = 0;
-
- // skip space delimiters
- while (index < size && contain(str[index], spaceDel))
- index++;
- }
-
- /**
- * @see java.util.Enumeration#hasMoreElements()
- */
- public boolean hasMoreElements()
- {
- return (index < size);
- }
-
- /**
- * @see java.util.Enumeration#nextElement()
- */
- public Object nextElement()
- {
- if (index >= size)
- throw new java.util.NoSuchElementException(
- "StringTokenizer enumeration");
-
- // skip delimiters
- int begStr = index;
- if (index < size && contain(str[index], del))
- index++;
-
- // skip word
- if (begStr == index)
- while (index < size && !contain(str[index], allDel))
- index++;
-
- int endStr = index;
-
- // skip space delimiters
- while (index < size && contain(str[index], spaceDel))
- index++;
-
- return String.copyValueOf(str, begStr, endStr - begStr);
- }
-
- /**
- * @see java.lang.Object#toString()
- */
- public String toString()
- {
- int i = index;
- String s = (String) nextElement();
- index = i;
- return s;
- }
- }
-
- /**
- * StringTokenizer constructor.
- * @param spaceDelimiters the set of delimiters to be ignored
- * @param delimiters the set of delimiters to be remained.
- */
- public StringTokenizer(char[] spaceDelimiters, char[] delimiters)
- {
- super();
-
- if (spaceDelimiters != null)
- {
- spaceDel = new char[spaceDelimiters.length];
- System.arraycopy(spaceDelimiters, 0, spaceDel, 0, spaceDelimiters.length);
- sort(spaceDel);
- }
- else
- spaceDel = null;
-
- if (delimiters != null)
- {
- del = new char[delimiters.length];
- System.arraycopy(delimiters, 0, del, 0, delimiters.length);
- sort(del);
- }
- else
- del = null;
-
- if (del != null && spaceDel != null)
- {
- allDel = new char[del.length + spaceDel.length];
- System.arraycopy(del, 0, allDel, 0, del.length);
- System.arraycopy(spaceDel, 0, allDel, del.length, spaceDel.length);
- }
- else if (del != null)
- allDel = del;
- else
- allDel = spaceDel;
-
- sort(allDel);
- }
- /**
- * Parses string.
- * @return java.util.Enumeration
- * @param s java.lang.String
- */
- public java.util.Enumeration parse(String s)
- {
- if (s == null)
- throw new IllegalArgumentException("StringTokenizer : String cannot be NULL");
-
- return new StringTokenizerEnumeration(s.toCharArray());
- }
-
- /**
- * Binary search.
- * @return boolean
- * @param c char
- */
- private static boolean contain(char c, char[] a)
- {
- if (a == null)
- return false;
-
- int l = 0, r = a.length - 1, center;
- while (l < r)
- {
- center = (l + r) / 2;
- if (c > a[center])
- l = center + 1;
- else
- r = center;
- }
-
- return a[l] == c;
- }
- /**
- * Heap sort
- * @param c char[]
- */
- static private void sort(char[] c)
- {
- if (c != null)
- {
- int j, k;
- char ci;
-
- // push heap
- for (int i = 1; i < c.length; i++)
- {
- j = ((k = i) - 1) / 2;
- ci = c[i];
- while (k > 0 && c[j] < ci)
- {
- c[k] = c[j];
- j = ((k = j) - 1) / 2;
- }
- c[k] = ci;
- }
-
- // pop heap
- for (int i = c.length - 1; i > 0; i--)
- {
- j = 2;
- k = 0;
- ci = c[0];
- while (j <= i)
- {
- c[k] = (c[j - 1] > c[j]) ? c[--j] : c[j];
- j = ((k = j) + 1) * 2;
- }
- c[k] = c[i];
- c[i] = ci;
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/TestUtils.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/TestUtils.java
deleted file mode 100644
index c0ae9459e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/TestUtils.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-
-import org.eclipse.wst.wsi.internal.core.ToolInfo;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Element;
-
-/**
- * Test Utility class.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public final class TestUtils
-{
- /**
- * Format a style sheet declaration from the addStyleSheet element.
- * @param element an Element object.
- * @param addStyleSheet an addStyleSheet element.
- * @param defaultHref default href.
- */
- public static final void parseAddStyleSheet(
- Element element,
- AddStyleSheet addStyleSheet,
- String defaultHref)
- {
- addStyleSheet.setHref(
- XMLUtils.getAttributeValue(element, WSIConstants.ATTR_HREF, defaultHref));
- addStyleSheet.setType(
- XMLUtils.getAttributeValue(
- element,
- WSIConstants.ATTR_TYPE,
- WSIConstants.DEFAULT_XSL_TYPE));
- addStyleSheet.setTitle(
- XMLUtils.getAttributeValue(element, WSIConstants.ATTR_TITLE));
- addStyleSheet.setMedia(
- XMLUtils.getAttributeValue(element, WSIConstants.ATTR_MEDIA));
- addStyleSheet.setCharset(
- XMLUtils.getAttributeValue(element, WSIConstants.ATTR_CHARSET));
- addStyleSheet.setAlternate(
- XMLUtils.getAttributeValue(element, WSIConstants.ATTR_ALTERNATE));
- }
-
- /**
- * Display tool name and copyright notice.
- * @param toolInfo a ToolInfo object.
- */
- public static void printToolInfo(ToolInfo toolInfo)
- {
- System.out.println(
- "Conformance "
- + toolInfo.getName()
- + " Tool"
- + ", Version: "
- + toolInfo.getVersion()
- + ", Release Date: "
- + toolInfo.getReleaseDate());
- System.out.println(WSIConstants.COPYRIGHT);
- System.out.println(" ");
- }
-
- /**
- * Get XML comment used in log and report file.
- * @return XML comment used in log and report file.
- */
- public static String getXMLComment()
- {
- String comment = null;
- String readLine = null;
-
- try
- {
- // Add required comments (copyright, etc.)
- BufferedReader bufferedReader =
- new BufferedReader(
- new InputStreamReader(
- Utils.getInputStream(WSIConstants.COMMENTS_FILE)));
-
- // Initialize string to empty string
- comment = "";
-
- while (bufferedReader.ready())
- {
- if ((readLine = bufferedReader.readLine()) != null)
- comment += readLine + WSIConstants.LINE_SEPARATOR;
- }
- }
-
- catch (Exception e)
- {
- // Ignore exception and just return null
- }
-
- return comment;
- }
-
- /**
- * Get schema location for XML schema.
- * @return schema location for XML schema.
- */
- public static String getXMLSchemaLocation()
- {
- return getSchemaLocation(
- WSIProperties.PROP_XML_SCHEMA,
- WSIProperties.DEF_XML_SCHEMA);
- }
-
- /**
- * Get SOAP schema location.
- * @return SOAP schema location.
- */
- public static String getSOAPSchemaLocation()
- {
- return getSchemaLocation(
- WSIProperties.PROP_SOAP_SCHEMA,
- WSIProperties.DEF_SOAP_SCHEMA);
- }
-
- /**
- * Get WSDL schema location.
- * @return WSDL schema location.
- */
- public static String getWSDLSchemaLocation()
- {
- return getSchemaLocation(
- WSIProperties.PROP_WSDL_SCHEMA,
- WSIProperties.DEF_WSDL_SCHEMA);
- }
-
- /**
- * Get WSDL SOAP schema location.
- * @return WSDL SOAP schema location.
- */
- public static String getWSDLSOAPSchemaLocation()
- {
- return getSchemaLocation(
- WSIProperties.PROP_WSDL_SOAP_SCHEMA,
- WSIProperties.DEF_WSDL_SOAP_SCHEMA);
- }
- /**
- * Get WSDL schema location.
- * @return WSDL schema location.
- */
- private static String getSchemaLocation(
- String propertyName,
- String defaultValue)
- {
- //String schemaLocation = null;
-
- // Get the wsi.home system property
- //String wsiHome = System.getProperty(WSIProperties.PROP_WSI_HOME);
- //String fileLocation = WSIProperties.getProperty(propertyName, defaultValue);
- //
- // If the file location is specified in the wsi.properties file then build location
- //if (fileLocation != null)
- //{
- // If wsi.home is set, then use it
- // if (wsiHome != null)
- // {
- // schemaLocation = wsiHome;
- // }
- // if (schemaLocation == null)
- // {
- // schemaLocation = fileLocation;
- // }
- // else
- // {
- // if (!schemaLocation.endsWith("/"))
- // {
- // schemaLocation += "/";
- // }
- //
- // schemaLocation += fileLocation;
- // }
- // }
- return defaultValue;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/TypesRegistry.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/TypesRegistry.java
deleted file mode 100644
index 6c12b28f9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/TypesRegistry.java
+++ /dev/null
@@ -1,577 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.validator.BaseValidator;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLVisitor;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * The class extracts XSD schema information from the given WSDL.
- *
- * @author Kulik
- */
-public final class TypesRegistry implements WSITag, WSDLVisitor
-{
- List schemaProcessedList = new ArrayList();
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Part, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Part obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Service, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Service obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(Types, Object,
- * WSDLTraversalContext)
- */
- public void visit(Types obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(Operation, Object,
- * WSDLTraversalContext)
- */
- public void visit(Operation obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(Input, Object,
- * WSDLTraversalContext)
- */
- public void visit(Input obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(Output, Object,
- * WSDLTraversalContext)
- */
- public void visit(Output obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(Fault, Object,
- * WSDLTraversalContext)
- */
- public void visit(Fault obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(Binding, Object,
- * WSDLTraversalContext)
- */
- public void visit(Binding obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(BindingOperation, Object,
- * WSDLTraversalContext)
- */
- public void visit(
- BindingOperation obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(BindingInput, Object,
- * WSDLTraversalContext)
- */
- public void visit(BindingInput obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(BindingOutput, Object,
- * WSDLTraversalContext)
- */
- public void visit(BindingOutput obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(BindingFault, Object,
- * WSDLTraversalContext)
- */
- public void visit(BindingFault obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(Element, Object,
- * WSDLTraversalContext)
- */
- public void visit(Element obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(Message, Object,
- * WSDLTraversalContext)
- */
- public void visit(Message obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(Port, Object,
- * WSDLTraversalContext)
- */
- public void visit(Port obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(PortType, Object,
- * WSDLTraversalContext)
- */
- public void visit(PortType obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(Definition, Object,
- * WSDLTraversalContext)
- */
- public void visit(Definition obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(ExtensibilityElement,
- * Object, WSDLTraversalContext)
- */
- public void visit(
- ExtensibilityElement obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(SOAPBinding, Object,
- * WSDLTraversalContext)
- */
- public void visit(SOAPBinding obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(SOAPBody, Object,
- * WSDLTraversalContext)
- */
- public void visit(SOAPBody obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(SOAPHeader, Object,
- * WSDLTraversalContext)
- */
- public void visit(SOAPHeader obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(SOAPHeaderFault, Object,
- * WSDLTraversalContext)
- */
- public void visit(
- SOAPHeaderFault obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(SOAPFault, Object,
- * WSDLTraversalContext)
- */
- public void visit(SOAPFault obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(SOAPOperation, Object,
- * WSDLTraversalContext)
- */
- public void visit(SOAPOperation obj, Object parent, WSDLTraversalContext ctx)
- {
- }
-
- private Map element2Type = new HashMap();
- private Set extendsArray = new HashSet();
- private Set usesWsdlArrayType = new HashSet();
-
- protected BaseValidator baseValidator = null;
-
- /**
- * Constructor creates the types registry. by the given WSDL definition
- * object.
- *
- * @param def a WSDL definition.
- * @param baseValidator a base validator.
- */
- public TypesRegistry(Definition def, BaseValidator baseValidator)
- {
- this.baseValidator = baseValidator;
- if (def == null)
- throw new IllegalArgumentException("Definition can not be null");
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitImport(true);
-
- processTypes(def.getTypes(), def.getDocumentBaseURI());
- traversal.traverse(def);
- }
-
- /**
- * Constructor creates the types registry by given WSDL types object and
- * location context URI.
- * @param types WSDL types object.
- * @param context location context URI.
- * @param baseValidator a base validator.
- */
- public TypesRegistry(
- Types types,
- String context,
- BaseValidator baseValidator)
- {
- this.baseValidator = baseValidator;
- processTypes(types, context);
- }
-
- /**
- * The method returns type's qname by given element's qname.
- * @param elementName a qualified element name.
- * @return type's qname by given element's qname.
- */
- public QName getType(QName elementName)
- {
- return (QName) element2Type.get(elementName);
- }
-
- /**
- * The method returns set of types which is array attribute.
- * @return set of types which is array attribute.
- */
- public Set getArrayTypes()
- {
- Set s = new HashSet();
- s.addAll((Collection) usesWsdlArrayType);
- s.addAll((Collection) extendsArray);
- return s;
- }
-
- /**
- * The method returns set of elements defined in types element.
- * @return set of elements defined in types element.
- */
- public Set getElementList()
- {
- return this.element2Type.keySet();
- }
-
- /**
- * The method returns true if the given type declares wsdl:arrayType
- * attribute within declaration.
- * @param type a type.
- * @return true if the given type declares wsdl:arrayType
- * attribute within declaration.
- */
- public boolean isUsesWSDLArrayType(QName type)
- {
- return usesWsdlArrayType.contains(type);
- }
-
- /**
- * The method returns true if given type extends soapenc:Array type.
- * @param type a type.
- * @return true if given type extends soapenc:Array type.
- */
- public boolean isExtendsArray(QName type)
- {
- return extendsArray.contains(type);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Import, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Import im, Object parent, WSDLTraversalContext ctx)
- {
- if (im.getDefinition() != null)
- processWSDL(im.getDefinition());
- }
-
- /**
- * Internal method processes WSDL definition.
- * @param def a WSDL definition.
- */
- private void processWSDL(Definition def)
- {
- if (def.getTypes() != null)
- processTypes(def.getTypes(), def.getDocumentBaseURI());
- }
-
- /**
- * Internal method processes WSDL types.
- * @param types WSDL types.
- * @param context a context.
- */
- private void processTypes(Types types, String context)
- {
- if (types == null)
- return;
- List exts = types.getExtensibilityElements();
- if (exts != null)
- {
- Iterator it = exts.iterator();
- while (it.hasNext())
- {
- ExtensibilityElement el = (ExtensibilityElement) it.next();
- if (el instanceof UnknownExtensibilityElement)
- searchForSchema(
- ((UnknownExtensibilityElement) el).getElement(),
- context);
- }
- }
- }
-
- /**
- * Internal method searches XSD schema declaration and XSD import
- * statements.
- * @param n
- * @param context
- */
- private void searchForSchema(Node n, String context)
- {
- while (n != null)
- {
- // searches for xsd:import element
- if (Node.ELEMENT_NODE == n.getNodeType())
- {
- // if xsd:schema element is found -> process schema
- if (XMLUtils.equals(n, ELEM_XSD_SCHEMA))
- processSchema(n, context);
- }
- n = n.getNextSibling();
- }
- }
-
- /**
- * Internal method loads XSD schema by using schema location and
- * location context.
- * @param importNode
- * @param context
- */
- private void loadSchema(Node importNode, String context)
- {
- Element im = (Element) importNode;
- Attr schemaLocation = XMLUtils.getAttribute(im, ATTR_XSD_SCHEMALOCATION);
-
- // try to parse imported XSD
- if (schemaLocation != null && schemaLocation.getValue() != null)
- try
- {
- String urlString = XMLUtils.createURLString(schemaLocation.getValue(), context);
- if (!schemaProcessedList.contains(urlString))
- {
- // if any error or root element is not XSD schema -> error
- Document schema =
- baseValidator.parseXMLDocumentURL(
- schemaLocation.getValue(),
- context,
- null);
- schemaProcessedList.add(urlString);
- if (XMLUtils.equals(schema.getDocumentElement(), ELEM_XSD_SCHEMA))
- processSchema(
- schema.getDocumentElement(),
- urlString);
- }
- }
- catch (Throwable t)
- {
- //t.printStackTrace();
- // nothing. it's not a schema
- }
- }
-
- /**
- * Internal method processes XSD schema and retrieves types declaration from
- * it.
- * @param schema
- * @param context
- */
- private void processSchema(Node schema, String context)
- {
- Attr a = XMLUtils.getAttribute((Element) schema, ATTR_XSD_TARGETNAMESPACE);
- String targetNamespace = (a != null) ? a.getValue() : "";
- // iterate schema
- Node n = schema.getFirstChild();
- // !! we suppose that xsd:import element is occured only within xsd:schema element
- while (n != null)
- {
- if (Node.ELEMENT_NODE == n.getNodeType())
- {
- if (XMLUtils.equals(n, ELEM_XSD_ELEMENT))
- {
- Element el = (Element) n;
- a = XMLUtils.getAttribute(el, ATTR_XSD_NAME);
- QName element =
- new QName(targetNamespace, (a != null) ? a.getValue() : "");
-
- a = XMLUtils.getAttribute(el, ATTR_XSD_TYPE);
- QName type = null;
- if (a != null)
- {
- String t = a.getValue();
- // if type contains ':', it means that it contains qname
- int i = t.indexOf(':');
- if (i != -1)
- {
- String prefix = t.substring(0, i);
- String nsURI = XMLUtils.findNamespaceURI(n, prefix);
- type = new QName(nsURI, t.substring(i + 1));
- }
- else
- type = new QName(targetNamespace, t);
- }
- else
- {
- // suppose that element directly contains type declaration
- type = element;
- checkType(n, type);
- }
-
- element2Type.put(element, type);
- }
- else if (XMLUtils.equals(n, ELEM_XSD_IMPORT))
- loadSchema(n, context);
- else if (XMLUtils.equals(n, ELEM_XSD_INCLUDE))
- loadSchema(n, context);
- else if (XMLUtils.equals(n, ELEM_XSD_COMPLEXTYPE))
- {
- Element el = (Element) n;
- a = XMLUtils.getAttribute(el, ATTR_XSD_NAME);
- QName type =
- new QName(targetNamespace, (a != null) ? a.getValue() : "");
- checkType(n, type);
- }
-
- }
-
- n = n.getNextSibling();
- }
- }
-
- /**
- * Internal method checks whether specified type has WSDL array type
- * attribute in the XSD declaration.
- * @param n
- * @param name
- */
- private void checkType(Node n, QName name)
- {
- while (n != null)
- {
- if (Node.ELEMENT_NODE == n.getNodeType())
- {
- // check such sentence
- // xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="tns:MyArray2Type[]"/>
- if (XMLUtils.equals(n, ELEM_XSD_ATTRIBUTE))
- {
- Attr a = XMLUtils.getAttribute((Element) n, ATTR_WSDL_ARRAYTYPE);
- if (a != null)
- usesWsdlArrayType.add(name);
- }
-
- // retrieve base attribute may be from restriction or extension
- Attr a = XMLUtils.getAttribute((Element) n, ATTR_XSD_BASE);
- if (a != null)
- {
- String base = a.getValue();
- int i = base.indexOf(":");
- if (i != -1)
- {
- String prefix = base.substring(0, i);
- String local = base.substring(i + 1);
- String namespace = XMLUtils.findNamespaceURI(n, prefix);
- if (SOAPENC_ARRAY.equals(new QName(namespace, local)))
- extendsArray.add(name);
- }
- }
- checkType(n.getFirstChild(), name);
- }
- n = n.getNextSibling();
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/UDDIUtils.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/UDDIUtils.java
deleted file mode 100644
index c572363a8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/UDDIUtils.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.uddi4j.UDDIException;
-import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.binding.BindingTemplate;
-import org.uddi4j.datatype.binding.TModelInstanceInfo;
-import org.uddi4j.datatype.business.BusinessEntity;
-import org.uddi4j.datatype.service.BusinessService;
-import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.response.BusinessDetail;
-import org.uddi4j.response.ServiceDetail;
-import org.uddi4j.response.TModelDetail;
-import org.uddi4j.response.TModelInfo;
-import org.uddi4j.response.TModelList;
-import org.uddi4j.transport.TransportException;
-import org.uddi4j.util.CategoryBag;
-import org.uddi4j.util.FindQualifier;
-import org.uddi4j.util.FindQualifiers;
-import org.uddi4j.util.KeyedReference;
-
-/**
- * This class provide some service functions used by UDDIValidator.
- *
- * @version 1.0.1
- * @author Peter Brittenham
- */
-public final class UDDIUtils
-{
- static public final FindQualifiers EXACT_NAME_MATCH_QUALIFIER;
- static {
- Vector vector = new Vector();
- EXACT_NAME_MATCH_QUALIFIER = new FindQualifiers();
- vector.add(new FindQualifier(FindQualifier.exactNameMatch));
- vector.add(new FindQualifier(FindQualifier.sortByNameAsc));
- EXACT_NAME_MATCH_QUALIFIER.setFindQualifierVector(vector);
- }
-
- static final String WS_I_CONFORMANCE_TMODEL_NAME =
- "ws-i-org:conformsTo:2002_12";
-
- static private Hashtable wsiConformanceTable = new Hashtable();
-
- /**
- * Gets a business service by key.
- * @param proxy a UDDI proxy.
- * @param key a key to a business service.
- * @return a business service specified by the given key.
- * @throws TransportException if error originating within the SOAP transport.
- * @throws UDDIException if the return value of a UDDI API cannot indicate an error condition.
- */
- public static BusinessService getBusinessServiceByKey(
- UDDIProxy proxy,
- String key)
- throws TransportException, UDDIException
- {
- BusinessService result = null;
-
- ServiceDetail sd = proxy.get_serviceDetail(key);
-
- if (sd != null)
- {
- Vector v = sd.getBusinessServiceVector();
-
- if (v != null && v.size() > 0)
- {
- result = (BusinessService) v.firstElement();
- }
- }
-
- return result;
- }
-
- /**
- * Gets business entity by key.
- * @param proxy a UDDI proxy.
- * @param key a key to a business entiy.
- * @return a business entity specified by the given key.
- * @throws TransportException if error originating within the SOAP transport.
- * @throws UDDIException if the return value of a UDDI API cannot indicate
- * an error condition.
- */
- public static BusinessEntity getBusinessByKey(UDDIProxy proxy, String key)
- throws TransportException, UDDIException
- {
- BusinessEntity result = null;
-
- BusinessDetail bd = proxy.get_businessDetail(key);
-
- if (bd != null)
- {
- Vector v = bd.getBusinessEntityVector();
-
- if (v != null && v.size() > 0)
- {
- result = (BusinessEntity) v.firstElement();
- }
- }
-
- return result;
- }
-
- /**
- * Gets a tModel by key.
- * @param proxy a UDDI proxy.
- * @param key a key to a tModel.
- * @return a tModel specified by the given key.
- * @throws TransportException if error originating within the SOAP transport.
- * @throws UDDIException if the return value of a UDDI API cannot indicate
- * an error condition.
- */
- public static TModel getTModelByKey(UDDIProxy proxy, String key)
- {
- TModel result = null;
-
- try
- {
- TModelDetail bd = proxy.get_tModelDetail(key);
-
- if (bd != null)
- {
- Vector v = bd.getTModelVector();
-
- if (v != null && v.size() > 0)
- {
- result = (TModel) v.firstElement();
- }
- }
- }
- catch (Throwable e)
- {
- }
-
- return result;
- }
-
- /**
- * Gets key of the WSI Conformance tModel.
- * @param proxy a UDDI proxy.
- * @return the key of the WSI Conformance tModel.
- */
- public static String getWSIConformanceTModelKey(UDDIProxy proxy)
- {
- if (proxy == null)
- throw new IllegalArgumentException("UDDI proxy cannot be null.");
-
- String result = null;
-
- if (wsiConformanceTable.containsKey(proxy))
- {
- result = wsiConformanceTable.get(proxy).toString();
- }
- else
- {
- result = getTModelKeyByName(proxy, WS_I_CONFORMANCE_TMODEL_NAME);
-
- if (result == null)
- {
- throw new IllegalStateException("WS-I conformance taxonomy tModel was not found");
- }
-
- wsiConformanceTable.put(proxy, result);
- }
-
- return result;
- }
-
- /**
- * Gets a tModel key by tModel name.
- * @param proxy a UDDI proxy.
- * @param name a tModel name.
- * @return a tModel key specified by the given tModel name.
- */
- public static String getTModelKeyByName(UDDIProxy proxy, String name)
- {
- String result = null;
- try
- {
- TModelList list =
- proxy.find_tModel(name, null, null, EXACT_NAME_MATCH_QUALIFIER, 1);
- TModelInfo info =
- (TModelInfo) list.getTModelInfos().getTModelInfoVector().firstElement();
- result = info.getTModelKey();
- }
- catch (Throwable e)
- {
- }
-
- return result;
- }
-
- /**
- * Get string representation of bindingTemplate.
- * @param bindingTemplate a BindingTemplate object.
- * @return a string representation of bindingTemplate.
- */
- public static String bindingTemplateToString(BindingTemplate bindingTemplate)
- {
- String returnString = "";
-
- if (bindingTemplate == null)
- returnString = "null";
-
- else
- {
- returnString =
- "accessPoint: "
- + (bindingTemplate.getAccessPoint() == null
- ? "null"
- : bindingTemplate.getAccessPoint().getText());
-
- if (bindingTemplate.getTModelInstanceDetails() == null
- || bindingTemplate
- .getTModelInstanceDetails()
- .getTModelInstanceInfoVector()
- == null)
- {
- returnString += ", [no tModel reference]";
- }
-
- else
- {
- Iterator iterator =
- bindingTemplate
- .getTModelInstanceDetails()
- .getTModelInstanceInfoVector()
- .iterator();
-
- int infoCount = 1;
- TModelInstanceInfo info;
- while (iterator.hasNext())
- {
- info = (TModelInstanceInfo) iterator.next();
- returnString += ", ["
- + infoCount++
- + "] tModelKey: "
- + info.getTModelKey();
- }
- }
- }
-
- return returnString;
- }
-
- /**
- * Get string representation of tModel.
- * @param tModel a TModel object.
- * @return a string representation of tModel.
- */
- public static String tModelToString(TModel tModel)
- {
- String returnString = "";
-
- if (tModel == null)
- returnString = "null";
-
- else
- {
- returnString =
- "name: "
- + tModel.getNameString()
- + ", categoryBag: "
- + (tModel.getCategoryBag() == null
- ? "null"
- : categoryBagToString(tModel.getCategoryBag()))
- + ", overviewURL: "
- + (tModel.getOverviewDoc() == null
- ? "null"
- : tModel.getOverviewDoc().getOverviewURLString());
- }
-
- return returnString;
- }
-
- /**
- * Get string representation of categoryBag.
- * @param categoryBag a CategoryBag object.
- * @return a tring representation of categoryBag.
- */
- public static String categoryBagToString(CategoryBag categoryBag)
- {
- String returnString = "";
-
- if (categoryBag == null)
- {
- returnString += "null";
- }
-
- else
- {
- returnString += "KeyedReferenceList: ";
-
- Vector krList = null;
- if ((krList = categoryBag.getKeyedReferenceVector()) == null)
- {
- returnString += "null";
- }
-
- else if (krList.size() == 0)
- {
- returnString += "empty";
- }
-
- else
- {
- KeyedReference kr = null;
- Iterator iterator = krList.iterator();
- while (iterator.hasNext())
- {
- kr = (KeyedReference) iterator.next();
- returnString += "tModelKey: "
- + kr.getTModelKey()
- + ", keyName: "
- + kr.getKeyName()
- + ", keyValue: "
- + kr.getKeyValue();
- }
- }
- }
-
- return returnString;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/Utils.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/Utils.java
deleted file mode 100644
index 45407256e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/Utils.java
+++ /dev/null
@@ -1,1415 +0,0 @@
-/*******************************************************************************
- *
- * Copyright (c) 2002-2003 IBM Corporation, 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
- * BeaconIT - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.util;
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.io.UnsupportedEncodingException;
-import java.net.ConnectException;
-import java.net.InetAddress;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.ResourceBundle;
-import java.util.StringTokenizer;
-import java.util.TimeZone;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-import org.eclipse.wst.wsi.internal.core.log.impl.MimePartImpl;
-import org.eclipse.wst.wsi.internal.core.log.impl.MimePartsImpl;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-
-/**
- * General set of utilities.
- */
-public final class Utils
-{
- public static final byte CR = (byte) '\r';
- public static final byte LF = (byte) '\n';
-
- /**
- * Common timestamp format.
- */
- // public static final SimpleDateFormat timestampFormat = new SimpleDateFormat ("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
- public static final SimpleDateFormat timestampFormat =
- new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
-
- /**
- * Basic date format.
- */
- public static final SimpleDateFormat dateFormat =
- new SimpleDateFormat("yyyy-MM-dd");
-
- /**
- * Wrapper method for error logging;
- * for now it just goes to stderr.
- * @param inError an error message.
- */
- public final static void logError(String inError)
- {
- System.err.println("Error: " + inError);
- }
-
- /**
- * Get exception information as a string.
- * @param throwable a Throwable object.
- * @return exception information as a string.
- */
- public final static String getExceptionDetails(Throwable throwable)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- pw.println("Exception: ");
- throwable.printStackTrace(pw);
-
- return sw.toString();
- }
-
- /**
- * Get current date and time as a timestamp.
- * @return urrent date and time as a timestamp.
- */
- public static String getTimestamp()
- {
- // Use GMT timezone
- //timestampFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
- timestampFormat.setTimeZone(TimeZone.getDefault());
-
- // Return timestamp
- return timestampFormat.format(new Date());
- }
-
- /**
- * Get current date for default time zone.
- * @return current date for default time zone.
- */
- public static String getDate()
- {
- // Use GMT timezone
- dateFormat.setTimeZone(TimeZone.getDefault());
-
- // Return date
- return dateFormat.format(new Date());
- }
-
- /**
- * Get HTTP status code.
- * @param httpHeaders HTTP headers.
- * @return HTTP status code.
- * @throws WSIException if the status code in http headers was not found.
- */
- public static String getHTTPStatusCode(String httpHeaders)
- throws WSIException
- {
- String statusCode = null;
-
- if (httpHeaders.startsWith("HTTP"))
- {
- // Get location of status code
- int index = httpHeaders.indexOf(" ");
- int index2 = httpHeaders.indexOf(" ", index + 1);
-
- if ((index == -1) || (index2 == -1))
- {
- throw new WSIException(
- "Could not find status code in http headers: [" + httpHeaders + "].");
- }
-
- else
- {
- statusCode = httpHeaders.substring(index + 1, index2);
- }
- }
-
- else
- {
- throw new WSIException(
- "Could not find status code in http headers: [" + httpHeaders + "].");
- }
-
- // Return status code
- return statusCode;
- }
-
- /**
- * Get HTTP headers from a full message.
- * @param fullMessage a message.
- * @return HTTP headers from a full message.
- */
- public static String getHTTPHeaders(String fullMessage)
- {
- //String httpHeaders = null;
-
- // Try looking for the double newline
- int index = fullMessage.indexOf("\r\n\r\n");
- if (index != -1)
- {
- index += 4;
- }
- else
- {
- // check for case "\r\r...\r\n\r\r...\n"
- // Note the index that is returned points to the first character
- // immediatedly following the first occurence of the CRLFCRLF.
- index = getFirstCRLFCRLF(fullMessage);
- if (index == -1)
- {
- logError(
- "Unable to parse HTTP message to find headers. Full message: "
- + fullMessage);
- return "x-WSI-Test-Tool-Error: Couldn't find headers. Full message: ["
- + fullMessage
- + "].";
- }
- }
-
- // Return HTTP headers
- return fullMessage.substring(0, index);
- }
-
- /**
- * Get SOAP message from a full message.
- * @param fullMessage a message.
- * @return SOAP message from a full message.
- */
- public static String getContent(String fullMessage)
- {
- String message = "";
-
- // Find start of message
- int index = fullMessage.indexOf("\r\n\r\n");
- if (index != -1)
- {
- index += 4;
- }
- else
- {
- // check for case "\r\r...\r\n\r\r...\n"
- // Note the index that is returned points to the first character
- // immediatedly following the first occurence of the CRLFCRLF.
- index = getFirstCRLFCRLF(fullMessage);
- }
-
- if (index < 0)
- {
- // If we couldn't find the end of the HTTP headers or the start of the message, then show error
- logError(
- "Unable to parse message to get content. Full message: "
- + fullMessage);
- message =
- "x-WSI-Test-Tool-Error: Couldn't find message content. Full message: ["
- + fullMessage
- + "].";
- }
- // If the index is greater than the length, then there is no message content
- else if (index >= fullMessage.length())
- {
- message = "";
- }
-
- // Else get the message content
- else
- {
- message = fullMessage.substring(index);
- }
-
- // Return SOAP message
- return message;
- }
-
- /**
- * Get HTTP headers from a full message.
- * @param fullMessage a message.
- * @return HTTP headers from a full message.
- */
- public static byte[] getHTTPHeaders(byte[] fullMessage)
- {
- //String httpHeaders = null;
- int index = getFirstCRLFCRLF(fullMessage, 0);
- if (index == -1)
- {
- logError(
- "Unable to parse HTTP message to find headers. Full message: "
- + fullMessage);
- return ("x-WSI-Test-Tool-Error: Couldn't find headers. Full message: ["
- + fullMessage + "].").getBytes();
- }
-
- // Return HTTP headers
- byte[] b = new byte[index];
- System.arraycopy(fullMessage, 0, b, 0, index);
-
- return b;
- }
-
- /**
- * Get HTTP headers from a full message.
- * @param fullMessage a message.
- * @return HTTP headers from a full message.
- */
- public static String getHTTPHeadersAsString(byte[] fullMessage, String encoding)
- {
- //String httpHeaders = null;
- int index = getFirstCRLFCRLF(fullMessage, 0);
- if (index == -1)
- {
- logError(
- "Unable to parse HTTP message to find headers. Full message: "
- + fullMessage);
- return "x-WSI-Test-Tool-Error: Couldn't find headers. Full message: ["
- + fullMessage + "].";
- }
-
- // Return HTTP headers
- try
- {
- return new String(fullMessage, 0, index, encoding);
- }
- catch (UnsupportedEncodingException e)
- {
- logError(
- "Unsupported Encoding: " + encoding + ". Full message: "
- + fullMessage);
- return "x-WSI-Test-Tool-Error: Unsupported Encoding \"" + encoding + "\". Full message: ["
- + fullMessage + "].";
- }
- }
-
- /**
- * Get SOAP message from a full message.
- * @param fullMessage a message.
- * @return SOAP message from a full message.
- */
- public static String getContentAsString(byte[] message)
- {
- String content = "";
- //String httpHeaders = null;
- int index = getFirstCRLFCRLF(message, 0);
-
- // If we couldn't find the end of the HTTP headers or the start of the message, then show error
- if (index < 0)
- {
- logError(
- "Unable to parse message to get content. Full message: "
- + message);
- content =
- "x-WSI-Test-Tool-Error: Couldn't find message content. Full message: ["
- + message.toString()
- + "].";
- }
-
- // Else get the message content
- else if (index < message.length)
- {
- try
- {
- content = new String(message, index, message.length - index);
- }
- catch (Exception e)
- {
- logError(
- "Unable to parse message to get content. Full message: "
- + message);
- content =
- "x-WSI-Test-Tool-Error: Couldn't find message content. Full message: ["
- + message.toString()
- + "].";
- }
- }
-
- // Return SOAP message
- return content;
- }
-
- /**
- * Get SOAP message from a full message.
- * @param fullMessage a message.
- * @return SOAP message from a full message.
- */
- public static byte[] getContent(byte[] message)
- {
- byte[] content = new byte [0];
-
- //String httpHeaders = null;
- int index = getFirstCRLFCRLF(message, 0);
-
- // If we couldn't find the end of the HTTP headers or the start of the message, then show error
- if (index < 0)
- {
- logError(
- "Unable to parse message to get content. Full message: "
- + message);
- message =
- ("x-WSI-Test-Tool-Error: Couldn't find message content. Full message: ["
- + message.toString()
- + "].").getBytes();
- }
-
- // If the index is greater than the length, then there is no message content
- //else if (index >= fullMessage.length())
- //{
- // message = "";
- //}
-
- // Else get the message content
- else if (index < message.length)
- {
- byte[] b = new byte[message.length - index];
- System.arraycopy(message, index, b, 0, message.length - index);
-
- content = b;
- }
-
- // Return SOAP message
- return content;
- }
-
-
- /**
- * Returns the first location of a CRLF.
- *
- * @return int
- */
- public static int getFirstCRLF(byte[] buffer, int index)
- {
- int size = buffer.length;
- int i = index;
- while (i < size - 1) {
- if (buffer[i] == CR && buffer[i+1] == LF)
- return i;
- i++;
- }
- return -1;
- }
-
- /**
- * Returns the first location of a CRLF followed imediately by another CRLF.
- *
- * @return int
- */
- public static int getFirstCRLFCRLF(byte[] buffer, int index)
- {
- int size = buffer.length;
- int i = index;
- while (i < size - 3)
- {
- if (buffer[i] == CR && buffer[i+1] == LF && buffer[i+2] == CR)
- {
- if (buffer[i+3] == LF)
- {
- return i+4;
- }
- else
- {
- int j = i + 3;
- while (j < buffer.length && buffer[j] == CR)
- {
- j++;
- }
- if (j < buffer.length && buffer[j] == LF)
- {
- return j + 1;
- }
- }
- }
- i++;
- }
- return -1;
- }
-
- /**
- * Returns the first location of a CRLF followed imediately by another CRLF.
- *
- * @return int
- */
- public static int getFirstCRLFCRLF(String buffer)
- {
- int index = buffer.indexOf("\r\n\r");
- if (index != -1)
- {
- int i = index +3;
- while (i < buffer.length() && buffer.startsWith("\r", i))
- i++;
-
- if (i < buffer.length() && buffer.startsWith("\n", i))
- return i+1;
- else
- return getFirstCRLFCRLF(buffer.substring(index + 3));
- }
- else
- {
- return -1;
- }
- }
-
- /**
- * Returns the list of indices which marks the separation of parts.
- */
- public static int[] getBoundaryIndices(byte[] message, String boundaryStr)
- {
- int[] indices = new int[256];
- int indicesIndex = 0;
- try
- {
- byte[] boundary = ("\r\n--" + boundaryStr).getBytes("US-ASCII");
-
- int index = 0;
- int start = 0;
- while (index != -1)
- {
- index = indexOf(message, boundary, start);
-
- if (index != -1)
- {
- start = index + boundary.length;
- indices[indicesIndex] = index;
- indicesIndex++;
- }
- }
- int[] b = new int[indicesIndex];
- System.arraycopy(indices, 0, b, 0, indicesIndex);
- indices = b;
- }
- catch (Exception e)
- {}
- return indices;
- }
-
- /**
- * Returns the index of the first occurrence of key in the buffer.
- */
- public static int indexOf(byte[] buffer, byte[] key, int start)
- {
- int bufferLen = buffer.length;
- int keyLen = key.length;
- int i,j,k = 0;
-
- if (keyLen > bufferLen - start)
- {
- return -1;
- }
-
- for (k = start + keyLen - 1; k < bufferLen; k++)
- {
- for (j = keyLen - 1, i = k; (j >= 0) && (buffer[i] == key[j]); j--)
- {
- i--;
- }
-
- if (j == (-1)) {
- return i + 1;
- }
- }
-
- return -1;
- }
- /**
- * Get contents of a resource and return as a input stream.
- *
- * @param resourceName the name of the resource to get and return as
- * an input stream.
- * @return contents of a resource as an input stream.
- * @throws IOException if the resource could not be located.
- */
- public static InputStream getInputStream(String resourceName)
- throws IOException
- {
- InputStream is = null;
-
- // If resource reference is a URL, then input stream from URL
- try
- {
- // Try to create URL
- URL urlResource = new URL(resourceName);
-
- // If successful, then get URL input stream
- is = getInputStream(urlResource);
- }
-
- // Else try to read resource directly
- catch (MalformedURLException mue)
- {
- boolean bTryClassLoader = false;
-
- try
- {
- // Open file input stream
- is = new BufferedInputStream(new FileInputStream(resourceName));
- }
- catch (FileNotFoundException fnfe)
- {
- // Set try class loader flag
- bTryClassLoader = true;
- }
- catch (SecurityException se)
- {
- // Set try class loader flag
- bTryClassLoader = true;
- }
- catch (Exception e)
- {
- // DEBUG:
- System.out.println("Exception in getInputStream :" + e.toString());
- }
-
- // If try class loader, then use it to get input stream
- if (bTryClassLoader)
- {
- // Use class loader to load resource
- is = ClassLoader.getSystemResourceAsStream(resourceName);
- }
- }
-
- // If the input stream is null, then throw FileNotFoundException
- if (is == null)
- {
- //try this
- is =
- Thread.currentThread().getContextClassLoader().getResourceAsStream(
- resourceName);
- }
-
- // If the input stream is null, then throw FileNotFoundException
- if (is == null)
- {
- //try this
- URL aURL =
- Thread.currentThread().getContextClassLoader().getResource(
- resourceName);
- if (aURL != null)
- is = getInputStream(aURL);
- }
-
- if (is == null)
- // Throw execption
- throw new FileNotFoundException(
- "Could not locate resource file: " + resourceName);
-
- // Return input stream
- return is;
- }
-
- /**
- * Get the input stream from a URL.
- * @param urlFile the URL to get the input stream from.
- * @return the input stream corresponding to the given URL.
- * @throws IOException if attempt to open the file denoted by URL has failed.
- * @throws ConnectException if trouble connecting to URL.
- */
- public static InputStream getInputStream(URL urlFile)
- throws IOException, ConnectException
- {
- InputStream is = null;
-
- // ADD: how are URLs that are password protected handled????
-
- try
- {
- // Open file input stream
- is = new BufferedInputStream(urlFile.openStream());
- }
-
- catch (ConnectException e)
- {
- // Re-throw this excpetion with additional information
- throw new java.net.ConnectException(
- "Could not connect to URL: " + urlFile.toExternalForm() + ".");
- }
-
- // Return input stream
- return is;
- }
-
- /**
- * Get contents of a resource and return as a input stream.
- * @param fileLocation the location of the file.
- * @return contents of a resource as a input stream.
- */
- public static boolean fileExists(String fileLocation)
- {
- boolean fileExists = false;
-
- // If resource reference is a URL, then input stream from URL
- try
- {
- // Try to create URL
- URL url = new URL(fileLocation);
-
- // If successful, then try to open connection
- url.openStream();
- fileExists = true;
- }
-
- // Else try to read resource directly
- catch (MalformedURLException mue)
- {
- try
- {
- File file = new File(fileLocation);
-
- fileExists = file.exists();
- }
-
- catch (Exception e2)
- {
- fileExists = false;
- }
- }
-
- catch (FileNotFoundException fnfe)
- {
- fileExists = false;
- }
-
- catch (Exception e)
- {
- fileExists = false;
- }
-
- // Return file exists indicator
- return fileExists;
- }
-
- /**
- * Get local host name.
- * @return the local host name.
- */
- public static String getLocalHostName()
- {
- String sLocalHostName;
-
- try
- {
- // Get local host name
- sLocalHostName = InetAddress.getLocalHost().getHostName();
- }
- catch (Exception e)
- {
- // Set default local host name
- sLocalHostName = "127.0.0.1";
- }
-
- // Return local host name
- return sLocalHostName;
- }
-
- /**
- * Build a URL string from hostname, port and URN.
- *
- * @param hostname the hostname.
- * @param port the port.
- * @param urn the URN.
- * @return formatted URL string.
- */
- public static String formatURL(String hostname, String port, String urn)
- {
- // Build URN
- String formatURN = urn;
-
- // If URN doesn't start with "/", then add it
- if (!(formatURN.startsWith("/")))
- {
- // Add "/" to beginning of the string
- formatURN = "/" + urn;
- }
-
- // Return URL string
- return "http://" + hostname + ":" + port + formatURN;
- }
-
- /**
- * This method will replace all of the occurances of a string
- * with a substitution string.
- *
- * @param sText String to udpate.
- * @param sFind String to find.
- * @param sReplace String to use for substitution.
- * @return updated string.
- */
- public static String replaceString(
- String sText,
- String sFind,
- String sReplace)
- {
- int iPrevIndex = 0;
-
- int iFindLen = sFind.length();
- int iReplaceLen = sReplace.length();
-
- String sUpdatedText = sText;
-
- // Replace all occurances of the find string
- for (int iIndex = sUpdatedText.indexOf(sFind);
- iIndex < (sUpdatedText.length() - 1) && iIndex != -1;
- iIndex = sUpdatedText.indexOf(sFind, iPrevIndex + iReplaceLen))
- {
- // Set updated text from the front portion + replacement text + back portion
- sUpdatedText =
- sUpdatedText.substring(0, iIndex)
- + sReplace
- + sUpdatedText.substring(iIndex + iFindLen);
-
- // Set the previous index field
- iPrevIndex = iIndex;
- }
-
- // Return updated text string
- return sUpdatedText;
- }
-
- /**
- * Convert string to hex string.
- * @param data a String object.
- * @return hex string.
- */
- public static String toHexString(String data)
- {
- char[] HEX_CHARS =
- {
- '0',
- '1',
- '2',
- '3',
- '4',
- '5',
- '6',
- '7',
- '8',
- '9',
- 'A',
- 'B',
- 'C',
- 'D',
- 'E',
- 'F' };
-
- // Get string as byte array
- byte[] byteData = data.getBytes();
-
- // Get length
- int length = byteData.length;
-
- // Create Char buffer
- char[] charBuffer = new char[length * 2];
-
- int next;
- for (int byteCnt = 0, charCnt = 0; byteCnt < length;)
- {
- next = byteData[byteCnt++];
- charBuffer[charCnt++] = HEX_CHARS[(next >>> 4) & 0x0F];
- charBuffer[charCnt++] = HEX_CHARS[next & 0x0F];
- }
-
- return new String(charBuffer);
- }
-
- /**
- * Convert byte buffer to hex string.
- * @param data a byte array.
- * @return hex string.
- */
- public static String toHexString(byte[] byteData)
- {
- char[] HEX_CHARS =
- {
- '0',
- '1',
- '2',
- '3',
- '4',
- '5',
- '6',
- '7',
- '8',
- '9',
- 'A',
- 'B',
- 'C',
- 'D',
- 'E',
- 'F' };
-
-
- // Get length
- int length = byteData.length;
-
- // Create Char buffer
- char[] charBuffer = new char[length * 2];
-
- int next;
- for (int byteCnt = 0, charCnt = 0; byteCnt < length;)
- {
- next = byteData[byteCnt++];
- charBuffer[charCnt++] = HEX_CHARS[(next >>> 4) & 0x0F];
- charBuffer[charCnt++] = HEX_CHARS[next & 0x0F];
- }
-
- return new String(charBuffer);
- }
-
- // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
- /**
- * Get MIME charset from a HTTP headers.
- * @param httpHeaders String of HTTP header.
- * @return the MIME charset string.
- * @author K.Nakagome@BeaconIT Japan SIG
- */
- public static String getHTTPCharset(String httpHeaders)
- {
- String mimeCharset = null;
-
- mimeCharset = httpHeaders.toUpperCase();
- int[] index = { -1, -1, -1 };
- int indexS = mimeCharset.indexOf("CHARSET");
- int indexE = Integer.MAX_VALUE;
- if (indexS < 17)
- {
- return "";
- }
- indexS = mimeCharset.indexOf("=", indexS + 7);
- if (indexS == -1)
- {
- return "";
- }
- indexS++;
- index[0] = mimeCharset.indexOf("'", indexS);
- index[1] = mimeCharset.indexOf("\r\n", indexS);
- index[2] = mimeCharset.indexOf("\"", indexS);
- for (int i = 0; i < 3; i++)
- {
- if (index[i] != -1 & indexE > index[i])
- {
- indexE = index[i];
- }
- }
-
- if (indexE != Integer.MAX_VALUE)
- {
- mimeCharset = httpHeaders.substring(indexS, indexE);
- mimeCharset.trim();
- }
- else
- {
- mimeCharset = "";
- }
- return mimeCharset;
- }
-
- /**
- * Checks to see if the message is a simple SOAP message or whether it is a SOAP messagwe with attachments.
- */
- public static boolean isMultipartRelatedMessage(String httpHeaders)
- {
- boolean result = false;
- try
- {
- // check header for mime version and boundary
- String contentType = HTTPUtils.getHttpHeaderAttribute(httpHeaders, HTTPConstants.HEADER_CONTENT_TYPE);
- if (contentType == null)
- {
- // there is no contentType, check if there is a boundary attribute
- String boundary = Utils.getHttpHeaderSubAttribute(httpHeaders, HTTPConstants.HEADER_CONTENT_TYPE, "boundary");
- if ((boundary != null) && (!boundary.equals("")))
- result = true;
- }
- else
- {
- result = contentType.equalsIgnoreCase("multipart/related");
- }
- }
- catch (WSIException e)
- {
- result = false;
- }
- return result;
- }
-
- public static String getHttpHeaderAttribute(String httpHeaders, String attributeName)
- { String result = null;
- try
- {
- result = HTTPUtils.getHttpHeaderAttribute(httpHeaders, attributeName);
- }
- catch (WSIException e)
- {
- result = null;
- }
- return result;
- }
-
- public static String getHttpHeaderSubAttribute(String httpHeaders, String attributeName, String subAttributeName)
- { String result = null;
- try
- {
- result = HTTPUtils.getHttpHeaderSubAttribute(httpHeaders, attributeName, subAttributeName);
- }
- catch (WSIException e)
- {
- result = null;
- }
- return result;
- }
-
- public static String getMimeHeaderAttribute(String mimeHeaders, String attributeName)
- { String result = null;
- try
- {
- result = MIMEUtils.getMimeHeaderAttribute(mimeHeaders, attributeName);
- }
- catch (WSIException e)
- {
- result = null;
- }
- return result;
- }
-
- public static String getMimeHeaderSubAttribute(String mimeHeaders, String attributeName, String subAttributeName)
- { String result = null;
- try
- {
- result = MIMEUtils.getMimeHeaderSubAttribute(mimeHeaders, attributeName, subAttributeName);
- }
- catch (WSIException e)
- {
- result = null;
- }
- return result;
- }
- // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
- /**
- * Get XML encoding from a SOAP Messages.
- * @param message SOAP Message String.
- * @return character encoding of XML.
- * @author K.Nakagome@BeaconIT Japan SIG
- */
- public static String getXMLEncoding(String message)
- {
- String xmlDef = null;
-
- int indexS = message.indexOf("<?xml");
- int indexE = -1;
- if (indexS != -1)
- {
- indexE = message.indexOf("?>", indexS);
- if (indexE > indexS)
- {
- xmlDef = message.substring(indexS, indexE);
- }
- }
-
- if (xmlDef != null)
- {
- indexS = xmlDef.indexOf("encoding");
- if (indexS == -1)
- {
- xmlDef = "";
- }
- else
- {
- xmlDef = xmlDef.substring(indexS + 8);
- xmlDef = xmlDef.trim();
- }
- }
- else
- {
- return "";
- }
-
- if (xmlDef.length() > 3)
- {
- indexS = xmlDef.indexOf("=");
- if (indexS == 0)
- {
- xmlDef = xmlDef.substring(1);
- }
- else
- {
- return "";
- }
- }
-
- if (xmlDef.length() > 3)
- {
- String end = "\"";
- indexS = xmlDef.indexOf(end);
- if (indexS != 0)
- {
- indexS = xmlDef.indexOf((end = "'"));
- }
- if (indexS == 0)
- {
- indexE = xmlDef.indexOf(end, 3);
- if (indexE != -1)
- {
- xmlDef = xmlDef.substring(1, indexE);
- }
- else
- {
- xmlDef = "";
- }
- }
- else
- {
- xmlDef = "";
- }
- }
- return xmlDef;
- }
-
- // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
- private static ResourceBundle javaEncodingResource = null;
- private static final String JAVA_ENCODING_RESOURCE =
- "org.wsi.test.util.JavaEncoding";
- private static final String JAVA_ENCODING_DEFAULT = "UTF-8";
-
- // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
- /**
- * Get Java VM supported character encoding.
- *
- * @param mimeEncoding string of MIME(IANA) character encoding.
- * @return string of character encoding supported by Java VM.
- * @author K.Nakagome@BeaconIT Japan SIG
- */
- public static String getJavaEncoding(String mimeEncoding)
- {
- if (mimeEncoding == null || mimeEncoding.length() == 0)
- {
- return JAVA_ENCODING_DEFAULT;
- }
- try
- {
- if (javaEncodingResource == null)
- {
- javaEncodingResource = ResourceBundle.getBundle(JAVA_ENCODING_RESOURCE);
- }
- return javaEncodingResource.getString(mimeEncoding);
- }
- catch (Throwable t)
- {
- return mimeEncoding;
- }
- }
-
- /**
- * Convert an array to a Vector.
- *
- * @param array the array to be converted .
- * @return converted Vector (null if array is null, empty if empty).
- * @author Graham Turrell IBM
- */
- public static Vector arrayToVector(Object[] array)
- {
- if (array == null)
- return null;
- Vector v = new Vector(array.length);
- for (int i = 0; i < array.length; i++)
- v.add(array[i]);
- return v;
- }
- /**
- * Checks to ensure that version of the profile test assertion
- * document is supported in this version of the test tools.
- * @param profileAssertions - a profile TAD.
- * @return true if the version of the profile test assertion
- * docuement is supported in this version of the test tools.
- */
- public static boolean isValidProfileTADVersion(ProfileAssertions profileAssertions)
- {
- boolean result = false;
-
- String name = profileAssertions.getTADName();
- String version = profileAssertions.getTADVersion();
-
- if (WSIConstants.BASIC_PROFILE_TAD_NAME.equals(name))
- {
- result =
- checkVersionNumber(WSIConstants.BASIC_PROFILE_TAD_VERSION, version);
- } else if (WSIConstants.BASIC_PROFILE_1_1_TAD_NAME.equals(name))
- {
- result =
- checkVersionNumber(WSIConstants.BASIC_PROFILE_1_1_TAD_VERSION, version);
- } else if (WSIConstants.SIMPLE_SOAP_BINDINGS_PROFILE_TAD_NAME.equals(name))
- {
- result =
- checkVersionNumber(WSIConstants.SIMPLE_SOAP_BINDINGS_PROFILE_TAD_VERSION, version);
- } else if (WSIConstants.ATTACHMENTS_PROFILE_TAD_NAME.equals(name))
- {
- result =
- checkVersionNumber(WSIConstants.ATTACHMENTS_PROFILE_TAD_VERSION, version);
- }
- return result;
- }
-
- /**
- * Checks to ensure that version number of the actual profile test assertion
- * document is supported in this version of the test tools.
- * @param supportedVersion - supported version number of profile TAD.
- * @param actualVersion - actual version number of profile TAD.
- * @return true if the version number of the actual profile test assertion
- * document is supported in this version of the test tools.
- */
- private static boolean checkVersionNumber(
- String supportedVersion,
- String actualVersion)
- {
- boolean validVersion = true;
-
- try
- {
- StringTokenizer supportedVersionTokenizer =
- new StringTokenizer(supportedVersion, ".");
- StringTokenizer actualVersionTokenizer =
- new StringTokenizer(actualVersion, ".");
-
- while (supportedVersionTokenizer.hasMoreTokens() && validVersion)
- {
- int supportedVersionToken =
- Integer.parseInt(supportedVersionTokenizer.nextToken());
- if (actualVersionTokenizer.hasMoreTokens())
- {
- int actualVersionToken =
- Integer.parseInt(actualVersionTokenizer.nextToken());
- if (supportedVersionToken > actualVersionToken) break;
- else validVersion = (supportedVersionToken >= actualVersionToken);
- }
- }
- }
- catch (Exception e)
- {
- validVersion = false;
- }
- return validVersion;
- }
-
- /**
- * Identifies the root part in the list using the "start" attribute.
- * If the "start" attribute does not exist then the first part is designated the root.
- */
- public static MimePart findRootPart(String httpHeaders, Collection parts)
- {
- MimePart root = null;
- String start = Utils.getHttpHeaderSubAttribute(httpHeaders, HTTPConstants.HEADER_CONTENT_TYPE, "start");
- if (!parts.isEmpty())
- {
- // default to the first part in the collection
- root = (MimePart)parts.iterator().next();
-
- if ((start != null) && (!start.equals("")))
- {
- Iterator i = parts.iterator();
- boolean rootNotFound = true;
- while (i.hasNext() && rootNotFound)
- {
- MimePart part = (MimePart)i.next();
- String headers = part.getHeaders();
- if (headers != null)
- {
- String contentId = Utils.getMimeHeaderAttribute(headers, MIMEConstants.HEADER_CONTENT_ID);
- if (start.equals(contentId))
- {
- root = part;
- rootNotFound = false;
- }
- }
- }
- }
- }
- return root;
- }
-
- /**
- * Decodes the given encoded string.
- */
- public static byte[] decodeBase64(String str)
- {
- try
- {
- sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();
- return decoder.decodeBuffer(str);
- }
- catch (Exception e)
- {
- return new byte[0];
- }
- }
-
- /**
- * Encodes the given byte array.
- */
- public static String encodeBase64(byte[] buffer)
- {
- sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();
- return encoder.encodeBuffer(buffer);
- }
-
- public static MimeParts parseMultipartRelatedMessage(String message, String httpHeaders, String encoding)
- {
- byte[] buffer = null;
- try
- {
- buffer = message.getBytes(encoding);
- }
- catch (Exception e)
- {
- return null;
- }
- return parseMultipartRelatedMessage(buffer, httpHeaders, encoding);
- }
- public static MimeParts parseMultipartRelatedMessage(byte[] message, String httpHeaders, String encoding)
- {
- MimeParts mimeParts = new MimePartsImpl();
- String boundary = Utils.getHttpHeaderSubAttribute(httpHeaders, HTTPConstants.HEADER_CONTENT_TYPE, "boundary");
- ArrayList parts = new ArrayList();
-
- if (boundary == null)
- {
- // assume it is a simple SOAP message
- return null;
- }
- else
- {
- String start = Utils.getHttpHeaderSubAttribute(httpHeaders, HTTPConstants.HEADER_CONTENT_TYPE, "start");
- int[] indices = Utils.getBoundaryIndices(message, boundary);
- boolean rootNotFound = true;
-
- for (int i= indices.length - 2; i>=0; i--)
- {
- try
- {
- MimePart part = new MimePartImpl();
- int index = Utils.getFirstCRLFCRLF(message, indices[i]);
- if ((index > indices[i]) && (index < indices[i+1]))
- {
- // the boundary string & mime headers (include the trailing CRLF CRLF)
- String str = new String(message, indices[i], (index - indices[i]), "US-ASCII");
- String delimiter = str.substring(0, str.indexOf("\r\n", 2) + 2);
-
- if (i == indices.length -2)
- {
- String endDelimiter = new String(message, indices[i + 1], message.length - indices[i + 1], "US-ASCII");
- int j = str.indexOf("\r\n", 2);
- if (j != -1)
- endDelimiter = str.substring(0, str.indexOf("\r\n", 2) + 2);
- part.setBoundaryStrings(new String[]{delimiter, endDelimiter});
- }
- else
- part.setBoundaryStrings(new String[]{delimiter});
-
- // the headers
- String headers = str.substring(delimiter.length());
- if (headers.startsWith("\r\n"))
- {
- // no headers present
- part.setHeaders("");
- }
- else
- {
- part.setHeaders(headers);
- }
-
- // the content
- String contentId = Utils.getMimeHeaderAttribute(headers, MIMEConstants.HEADER_CONTENT_ID);
- int size = indices[i+1] - (index);
- byte[] content = new byte[size];
- System.arraycopy(message, index, content, 0, size);
-
- if ((rootNotFound && (i == 0)) ||
- ((start != null) && (!start.equals("")) && (start.equals(contentId))))
- {
- // root part -- do not encode
- part.setContent(new String(content, encoding));
- mimeParts.setRootPart(part);
- }
- else
- {
- String transferEncoding = Utils.getMimeHeaderAttribute(headers, MIMEConstants.HEADER_CONTENT_TRANSFER_ENCODING);
-
- if ((transferEncoding != null) && transferEncoding.equalsIgnoreCase("base64"))
- part.setContent(new String(content, encoding));
- else
- part.setContent(Utils.encodeBase64(content));
- }
- parts.add(part);
- }
- }
- catch (Exception e)
- {
- return null;
- }
- }
- int size = parts.size();
- for (int i = size-1; i>=0; i--)
- mimeParts.addPart((MimePart)parts.get(i));
- }
- return mimeParts;
- }
-
- public static String toXMLString(MimeParts mimeParts)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- // Add message content with attachments element
- pw.print("<" + WSIConstants.ELEM_MESSAGE_CONTENT_WITH_ATTACHMENTS);
- pw.print(">");
-
- Collection partList = mimeParts.getParts();
- if (!partList.isEmpty())
- {
- Iterator iMimeParts = partList.iterator();
- while (iMimeParts.hasNext())
- {
- MimePart mimePart = (MimePart)iMimeParts.next();
- pw.print(mimePart.toXMLString(""));
- }
- }
-
- // Add end message element
- pw.println("</" + WSIConstants.ELEM_MESSAGE_CONTENT_WITH_ATTACHMENTS + ">");
- // Return string
- return sw.toString();
- }
-
- public static void main (String[] args)
- {
- try
- {
- FileInputStream inputStream = new FileInputStream("d:\\b.xml");
- int i = inputStream.available();
- byte[] buffer = new byte[i];
- inputStream.read(buffer);
- String message = new String(buffer);
- message = XMLUtils.xmlRemoveEscapedString(message);
- String headers = Utils.getHTTPHeaders(message);
- MimeParts parts = Utils.parseMultipartRelatedMessage(message, headers, Utils.JAVA_ENCODING_DEFAULT);
- System.out.println(Utils.toXMLString(parts));
- }
- catch (Exception e){}
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/WSDLUtil.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/WSDLUtil.java
deleted file mode 100644
index 1adcf00b7..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/WSDLUtil.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-import javax.wsdl.Import;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Part;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.extensions.soap.SOAPBody;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-
-/**
- * The utility class to automate WSDL processing.
- *
- * @author Kulik
- */
-public final class WSDLUtil
-{
-
- /**
- * The method extracts list of parts for the given soapbind:body,
- * binding operation, message, and style.
- *
- * @param op an operation.
- * @param m a message.
- * @param body a SOAP body.
- * @param style an operation style.
- * @return list of parts for the given soapbind:body,
- * binding operation, message, and style.
- */
- static public List getParts(
- Operation op,
- Message m,
- SOAPBody body,
- String style)
- {
- // if null, get parts from message
- if (body.getParts() == null)
- // if rpc style is used, try to use partOrder attribute from operation
- if (WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC.equals(style))
- return m.getOrderedParts(op.getParameterOrdering());
- else
- return m.getOrderedParts(null);
- else
- // converse parts name to parts objects
- return m.getOrderedParts(body.getParts());
- }
-
- /**
- * The method iterates all imports from the given definition and expands all
- * imported messages, service, portTypes, and bindings to the definition.
- *
- * @param def a WSDL definition.
- */
- static public void expandDefinition(Definition def)
- {
- if (def != null && def.getImports() != null)
- {
- Iterator it = def.getImports().values().iterator();
- while (it.hasNext())
- {
- List v = (List) it.next();
- if (v != null)
- {
- Iterator it2 = v.iterator();
- while (it2.hasNext())
- expandDefinition(def, (Import) it2.next());
- }
- }
- }
- }
-
- /**
- * The internal method to expand definition.
- * @param target WSDL definition.
- * @param im internal method.
- */
- static private void expandDefinition(Definition target, Import im)
- {
- if (im != null && im.getDefinition() != null)
- {
- Definition d = im.getDefinition();
- if (d.getMessages() != null)
- {
- Iterator it = d.getMessages().values().iterator();
- while (it.hasNext())
- target.addMessage((Message) it.next());
- }
- if (d.getPortTypes() != null)
- {
- Iterator it = d.getPortTypes().values().iterator();
- while (it.hasNext())
- target.addPortType((PortType) it.next());
- }
- if (d.getBindings() != null)
- {
- Iterator it = d.getBindings().values().iterator();
- while (it.hasNext())
- target.addBinding((Binding) it.next());
- }
- if (d.getServices() != null)
- {
- Iterator it = d.getServices().values().iterator();
- while (it.hasNext())
- target.addService((Service) it.next());
- }
-
- Iterator it = d.getImports().values().iterator();
- while (it.hasNext())
- {
- List v = (List) it.next();
- if (v != null)
- {
- Iterator it2 = v.iterator();
- while (it2.hasNext())
- expandDefinition(target, (Import) it2.next());
- }
- }
- }
- }
-
- /**
- * The method extracts part from the message.
- *
- * @param message a SOAP message.
- * @param part a part name.
- * @return part from the specified message.
- */
- static public Part getPart(Message message, String part)
- {
- Part mesPart = null;
- if (part == null)
- mesPart = (Part) message.getOrderedParts(null).get(0);
- else
- mesPart = message.getPart(part);
- return mesPart;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/WSIProperties.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/WSIProperties.java
deleted file mode 100644
index ba1403362..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/WSIProperties.java
+++ /dev/null
@@ -1,347 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-import java.util.Enumeration;
-import java.util.MissingResourceException;
-import java.util.Properties;
-import java.util.ResourceBundle;
-
-import org.uddi4j.transport.TransportFactory;
-
-/**
- * The WSI properties can be defined in one of three locations.
- *
- * 1. The wsi.properties file which can be located anywhere in the classpath.
- * 2. The system property settings.
- * 3. The thread local property settings.
- *
- * The properties are set based on this ordering. For example, the properties
- * from the wsi.properties file will be replaced by properties from the system
- * property settings, which will be replaced by the thread local property settings.
- *
- * The properties that are used to define the implementation classes can be
- * specified as system properties or as properties that are set in a thread
- * local variable. System properties should be used if only one implementation
- * is needed per JVM. If two or more implementations are needed per JVM, then
- * the properties should be set using the thread local variable.
- *
- * @version 1.0.1
- * @author: Peter Brittenham
- */
-public final class WSIProperties
-{
- /**
- * Properties object.
- */
- protected static Properties wsiProperties = new Properties();
-
- /**
- * Default ProfileValidatorFactory class name.
- */
- public static final String DEF_VALIDATOR_FACTORY =
- "org.eclipse.wst.wsi.internal.core.profile.validator.impl.ProfileValidatorFactoryImpl";
-
- /**
- * Property that contains ProfileValidatorFactory class name.
- */
- public static final String PROP_VALIDATOR_FACTORY =
- "wsi.profile.validator.factory";
-
- /**
- * Default document factory class name.
- */
- public static final String DEF_DOCUMENT_FACTORY =
- "org.eclipse.wst.wsi.internal.core.document.impl.DocumentFactoryImpl";
-
- /**
- * Property that contains document factory class name.
- */
- public static final String PROP_DOCUMENT_FACTORY = "wsi.document.factory";
-
- /**
- * Default JAXP XML parser document factory builder.
- */
- public static final String DEF_JAXP_DOCUMENT_FACTORY =
- "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl";
-
- /**
- * Property that contains JAXP XML parser document factory builder.
- */
- public static final String PROP_JAXP_DOCUMENT_FACTORY =
- "javax.xml.parsers.DocumentBuilderFactory";
-
- /**
- * Default WSDL schema location.
- */
- public static final String DEF_WSDL_SCHEMA = "http://schemas.xmlsoap.org/wsdl/";
-
- /**
- * Property that contains WSDL schema location.
- */
- public static final String PROP_WSDL_SCHEMA = "wsi.analyzer.wsdl.schema";
-
- /**
- * Default WSDL SOAP schema location.
- */
- public static final String DEF_WSDL_SOAP_SCHEMA =
- "http://schemas.xmlsoap.org/wsdl/soap/";
-
- /**
- * Property that contains WSDL SOAP schema location.
- */
- public static final String PROP_WSDL_SOAP_SCHEMA =
- "wsi.analyzer.wsdlsoap.schema";
-
- /**
- * Default WSDL MIME schema location.
- */
- public static final String DEF_WSDL_MIME_SCHEMA =
- "http://schemas.xmlsoap.org/wsdl/mime/";
-
- /**
- * Property that contains WSDL SOAP schema location.
- */
- public static final String PROP_WSDL_MIME_SCHEMA =
- "wsi.analyzer.wsdlmime.schema";
-
- /**
- * Default SOAP schema location.
- */
- public static final String DEF_SOAP_SCHEMA =
- "http://schemas.xmlsoap.org/soap/envelope/";
-
- /**
- * Property that contains SOAP schema location.
- */
- public static final String PROP_SOAP_SCHEMA = "wsi.analyzer.soap.schema";
-
- /**
- * Default SOAP schema location.
- */
- public static final String DEF_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema.xsd";
-
- /**
- * Property that contains SOAP schema location.
- */
- public static final String PROP_XML_SCHEMA = "wsi.analyzer.xmlschema.schema";
-
- /**
- * Property which contains WSI_HOME value.
- */
- public static final String PROP_WSI_HOME = "wsi.home";
-
- /**
- * Property file name.
- */
- protected static final String PROP_FILENAME = "org.eclipse.wst.wsi.internal.core.util.wsi";
-
- /**
- * Thread local variable.
- */
- private static ThreadLocal threadLocal = new ThreadLocal();
-
- // Load profiles file
- static {
- loadPropertiesFile();
- }
-
- /**
- * Load properties from wsi.properties file.
- */
- private static void loadPropertiesFile()
- {
- try
- {
- // Try to load properties from wsi.properties
- //InputStream is = Utils.getInputStream(PROP_FILENAME);
-
- // Load properties from file
- //wsiPropertiesFile.load(is);
-
- ResourceBundle resourceBundle = ResourceBundle.getBundle(PROP_FILENAME);
-
- String nextKey;
- Enumeration enumeration = resourceBundle.getKeys();
- while (enumeration.hasMoreElements())
- {
- nextKey = (String) enumeration.nextElement();
- wsiProperties.put(nextKey, resourceBundle.getString(nextKey));
- }
- }
-
- catch (MissingResourceException mre)
- {
- // DEBUG:
- System.err.println(
- "WARNING: Could not read "
- + PROP_FILENAME
- + ". "
- + "Verify that it is in the CLASSPATH.");
-
- // Set up default values
- wsiProperties.put(PROP_VALIDATOR_FACTORY, DEF_VALIDATOR_FACTORY);
- wsiProperties.put(PROP_DOCUMENT_FACTORY, DEF_DOCUMENT_FACTORY);
- wsiProperties.put(PROP_JAXP_DOCUMENT_FACTORY, DEF_JAXP_DOCUMENT_FACTORY);
- wsiProperties.put(
- TransportFactory.PROPERTY_NAME,
- "org.uddi4j.transport.ApacheAxisTransport");
- }
- }
-
- /**
- * Do not allow this object to be instantiated.
- */
- private WSIProperties()
- {
- }
-
- /**
- * Get properties that were set for this thread only.
- * @return the properties that were set for this thread only.
- *
- * @see #setThreadLocalProperties
- */
- public static Properties getThreadLocalProperties()
- {
- // Return properties
- return (Properties) threadLocal.get();
- }
-
- /**
- * Set properties for this thread only.
- * @param props a Properties object.
- *
- * @see #getThreadLocalProperties
- */
- public static void setThreadLocalProperties(Properties props)
- {
- // Save the properties as thread local variables
- threadLocal.set(props);
- }
-
- /**
- * Get the property value given the property name.
- * @param propertyName a property name.
- * @return the corresponding property value. If not found return null.
- */
- public static String getProperty(String propertyName)
- {
- String propertyValue = null;
- Properties threadLocalProps = null;
-
- // 1. Look in thread local properties first
- if ((threadLocalProps = getThreadLocalProperties()) != null)
- {
- propertyValue = threadLocalProps.getProperty(propertyName);
- }
-
- // 2. Next look in system properties
- if (propertyValue == null)
- {
- propertyValue = System.getProperty(propertyName);
- }
-
- // 3. Last look in the properties file
- if (propertyValue == null)
- {
- propertyValue = wsiProperties.getProperty(propertyName);
- }
-
- // Return property value
- return propertyValue;
- }
-
- /**
- * Get the property value given the property name.
- * @param propertyName a property name.
- * @param defaultValue a default value for the property.
- * @return the corresponding property value. If not found return the default value.
- */
- public static String getProperty(String propertyName, String defaultValue)
- {
- String propertyValue = null;
-
- // If the propertyValue was not found, then return default value
- if ((propertyValue = getProperty(propertyName)) == null)
- {
- propertyValue = defaultValue;
- }
-
- // Return property value
- return propertyValue;
- }
-
- /**
- * This method is used to unit test this class.
- * @param args the arguments for main.
- */
- public static void main(String[] args)
- {
- try
- {
- // Set property for this thread
- Properties props = new Properties();
- props.setProperty(PROP_VALIDATOR_FACTORY, "main");
- WSIProperties.setThreadLocalProperties(props);
-
- // Start four threads to verify that the multithreaded use of tread local vars works
- for (int i = 0; i < 5; i++)
- {
- // Create new thread
- (new Thread(new ThreadTest("test" + i))).start();
-
- try
- {
- // Sleep
- Thread.sleep(200);
-
- // Display properties, which should be main
- System.out.println(
- "PROP_VALIDATOR_FACTORY: "
- + WSIProperties.getProperty(PROP_VALIDATOR_FACTORY));
- }
-
- catch (Exception e)
- {
- }
- }
- }
-
- catch (Exception e)
- {
- // e.printStackTrace();
- }
- }
-
- /**
- * Inner class used for unit test.
- */
- static private class ThreadTest extends Thread
- {
- String name;
-
- ThreadTest(String name)
- {
- this.name = name;
- }
-
- public void run()
- {
- Properties props = new Properties();
- props.setProperty(PROP_VALIDATOR_FACTORY, name);
- WSIProperties.setThreadLocalProperties(props);
- System.out.println(
- "PROP_VALIDATOR_FACTORY: "
- + WSIProperties.getProperty(PROP_VALIDATOR_FACTORY));
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/XMLInfo.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/XMLInfo.java
deleted file mode 100644
index b92119912..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/XMLInfo.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * 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.util;
-
-/**
- * This class ...
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface XMLInfo
-{
- /**
- * Get addtional tool environment information as an XML string.
- * @param namespaceName a namespace prefix.
- * @return addtional tool environment information as an XML string.
- */
- public String toXMLString(String namespaceName);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/wsi.properties b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/wsi.properties
deleted file mode 100644
index bfe48da10..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/wsi.properties
+++ /dev/null
@@ -1,46 +0,0 @@
-# /**
-# * <copyright>
-# *
-# * Copyright (c) 2002-2003 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
-# * </copyright>
-# */
-#
-# Property file used to set parameters for Conformance Tools
-
-# -----------------------------------------------------------------------
-# Document factory.
-# -----------------------------------------------------------------------
-wsi.document.factory=org.eclipse.wst.wsi.internal.core.document.impl.DocumentFactoryImpl
-
-# -----------------------------------------------------------------------
-# Profile validation factory.
-# -----------------------------------------------------------------------
-wsi.profile.validator.factory=org.eclipse.wst.wsi.internal.core.profile.validator.impl.ProfileValidatorFactoryImpl
-
-# -----------------------------------------------------------------------
-# Reference to JAXP document builder
-# -----------------------------------------------------------------------
-javax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
-#javax.xml.parsers.DocumentBuilderFactory=org.eclipe.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl
-
-# -----------------------------------------------------------------------
-# Transport class used by UDDI4J
-# -----------------------------------------------------------------------
-org.uddi4j.TransportClassName=org.uddi4j.transport.ApacheAxisTransport
-
-
-# -----------------------------------------------------------------------
-# Location of XML schema documents relative to the plugin directory
-# -----------------------------------------------------------------------
-wsi.analyzer.xmlschema.schema=http://www.w3.org/2001/XMLSchema.xsd
-wsi.analyzer.soap.schema=http://schemas.xmlsoap.org/soap/envelope/
-wsi.analyzer.wsdl.schema=http://schemas.xmlsoap.org/wsdl/
-wsi.analyzer.wsdlsoap.schema=wsi.analyzer.wsdlsoap.schema
-wsi.analyzer.wsdlmime.schema=http://schemas.xmlsoap.org/wsdl/mime/
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLDocument.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLDocument.java
deleted file mode 100644
index 507f983d3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLDocument.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.WSDLException;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.xml.WSDLReader;
-
-import org.eclipse.wst.wsi.internal.core.wsdl.xsd.InlineSchemaValidator;
-import org.eclipse.wst.wsi.internal.core.xml.XMLTags;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-
-/**
- * This class provides a interface to a single WSDL document.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class WSDLDocument
-{
- /**
- * WSDL document location.
- */
- protected String fileName = null;
-
- /**
- * Definition element.
- */
- protected Definition definitions = null;
-
- /**
- * WSDL element list with line and column numbers.
- */
- protected WSDLElementList wsdlElementList = null;
-
- /**
- * Map of targetNamespaces to the corresponding org.apache.xerces.xs.XSModel of schema elements.
- */
- private Map schemas = new HashMap();
-
- /**
- * List of schemas validation errors.
- */
- private List schemasValidationErrors = new ArrayList();
-
- /**
- * Read WSDL document from the specified file.
- * @param fileName WSDL document location.
- * @throws WSDLException if problem reading WSDL document.
- */
- public WSDLDocument(String fileName) throws WSDLException
- {
- this.fileName = fileName;
- ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();
-
- try
- {
- Thread.currentThread().setContextClassLoader(WSDLDocument.class.getClassLoader());
-
- // Get the WSDLReader
- WSDLReader wsdlReader = new WSDLReaderImpl();
-
- // Set features
- wsdlReader.setFeature(com.ibm.wsdl.Constants.FEATURE_VERBOSE, false);
- // DEBUG:
- //wsdlReader.setFeature(com.ibm.wsdl.Constants.FEATURE_VERBOSE, true);
- wsdlReader.setFeature(
- com.ibm.wsdl.Constants.FEATURE_IMPORT_DOCUMENTS,
- true);
- // DEBUG:
- //wsdlReader.setFeature(com.ibm.wsdl.Constants.FEATURE_IMPORT_DOCUMENTS,true);
-
- // Parse the WSDL document
- Document document = XMLUtils.parseXMLDocument(fileName);
- this.definitions = wsdlReader.readWSDL(fileName, document);
-
- // Since inline schema validator is used by several assertions, validate all
- // schemas right after WSDL validation
- validateSchemas();
-
- // Get the line and column number references
- this.wsdlElementList = ((WSDLReaderImpl) wsdlReader).getElementList();
-
- // DEBUG:
- //System.err.println(wsdlElementList.toString());
- }
- catch (Exception cce)
- {
- // Set element list to null
- this.wsdlElementList = null;
- }
- finally
- {
- Thread.currentThread().setContextClassLoader(currentLoader);
- }
- }
-
- /**
- * Create WSDL document from existing Definition object.
- *
- * @param fileName WSDL document location.
- * @param definitions Definition object.
- */
- public WSDLDocument(String fileName, Definition definitions)
- {
- this.fileName = fileName;
- this.definitions = definitions;
- schemas.clear();
- schemasValidationErrors.clear();
- }
-
- /**
- * Get the WSDL document location.
- * @return he WSDL document location.
- */
- public String getLocation()
- {
- // Return the document location
- return this.fileName;
- }
-
- /**
- * Get the definition element of the WSDL document.
- * @return the definition element
- */
- public Definition getDefinitions()
- {
- // Return the definition element
- return definitions;
- }
-
- /**
- * Get all the portType elements from the WSDL document.
- * @return the list of portType elements.
- */
- public PortType[] getPortTypes()
- {
- // Generate an array of PortTypes from the PortType map for this Definition
- return (PortType[]) definitions.getPortTypes().values().toArray(
- new PortType[0]);
- }
-
- /**
- * Get all the binding elements from the WSDL document.
- * @return the list of binding elements.
- */
- public Binding[] getBindings()
- {
- // Generate an array of Bindings from the Binding map for this Definition
- return (Binding[]) definitions.getBindings().values().toArray(
- new Binding[0]);
- }
-
- /**
- * Get all the service elements from the WSDL document.
- * @return the list of service elements.
- */
- public Service[] getServices()
- {
- // Generate an array of Services from the Service map for this Definition
- return (Service[]) definitions.getServices().values().toArray(
- new Service[0]);
- }
-
- /* Return string representation of this object.
- * @see java.lang.Object#toString()
- */
- public String toString()
- {
- // Return string
- return (definitions == null)
- ? "WSDL definition element not found."
- : definitions.toString();
- }
-
- /**
- * Get the element list.
- * @return the element list.
- */
- public WSDLElementList getElementList()
- {
- return this.wsdlElementList;
- }
-
- /**
- * Returns a schemas map.
- * @return a map of targetNamespace attribute values of the schema elements
- * to the corresponding org.apache.xerces.xs.XSModel object of that schema.
- */
- public Map getSchemas()
- {
- return schemas;
- }
-
- /**
- * Returns a list of schemas validation errors caused by the validateSchemas() procedure.
- * @return a list of schemas validation errors.
- */
- public List getSchemasValidationErrors()
- {
- return schemasValidationErrors;
- }
-
- /**
- * The method invokes the inline schema validator which validates every schema element of the WSDL.
- */
- private void validateSchemas()
- {
- schemas.clear();
- schemasValidationErrors.clear();
-
- /* INLINE SCHEMA VALIDATOR */
- if (definitions != null
- && definitions.getTypes() != null
- && definitions.getTypes().getExtensibilityElements() != null)
- {
- InlineSchemaValidator schemaValidator = new InlineSchemaValidator();
-
- // Collecting schema's parent elements
- List parents = new ArrayList(2);
- parents.add(definitions.getTypes());
- parents.add(definitions);
- // Going through all the ExtensibilityElementS of wsdl:types
- // since they are potential schemas
- // See Java APIs for WSDL V1.0 (JSR110), section 4
- Iterator i = this.definitions.getTypes().getExtensibilityElements().iterator();
- while (i.hasNext())
- {
- ExtensibilityElement extEl = (ExtensibilityElement) i.next();
- if (extEl.getElementType().equals(XMLTags.ELEM_XSD_SCHEMA))
- {
- Map map = null;
- try
- {
- // Validating schema element
- map = schemaValidator.validate(extEl, parents, fileName);
- }
- catch (Exception e)
- {
- // Adding an exception to the errors list
- schemasValidationErrors.add(e.getMessage());
- }
-
- if (map != null)
- {
- // Adding returned XSModel to schemas map
- schemas.putAll(map);
- }
- }
- }
- }
- }
-
- /**
- * Command line interface.
- * @param args from command line.
- */
- public static void main(String[] args)
- {
- try
- {
- WSDLDocument wsdlDocument = new WSDLDocument(args[0]);
- System.out.println(wsdlDocument.toString());
- }
-
- catch (Exception e)
- {
- e.toString();
- e.printStackTrace();
- }
-
- System.exit(0);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLElementList.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLElementList.java
deleted file mode 100644
index 75a77d895..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLElementList.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
-
-/**
- * This class maintains a WSDL element list.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class WSDLElementList
-{
- /**
- * List of WSDL elements with their location.
- */
- HashMap wsdlElementList = new HashMap();
-
- /**
- * WSDL element locator.
- */
- public WSDLElementList()
- {
- }
-
- /**
- * Add element with location information.
- * @param wsdlElement a WSDL element artifact.
- * @param elementLocation the location information for the element.
- */
- public void addElement(Object wsdlElement, ElementLocation elementLocation)
- {
- this.wsdlElementList.put(wsdlElement, elementLocation);
- }
-
- /**
- * Get element location.
- * @param wsdlElement a WSDL element artifact.
- * @return the location information for the element.
- */
- public ElementLocation getElementLocation(Object wsdlElement)
- {
- return (ElementLocation) this.wsdlElementList.get(wsdlElement);
- }
-
- /* Return string representation of this object.
- * @see java.lang.Object#toString()
- */
- public String toString()
- {
- String string = "WSDLElementList: \n";
-
- // Get list entries (values?)
- Iterator iterator = this.wsdlElementList.keySet().iterator();
-
- // Add each entry in the list to the string
- ElementLocation wsdlElementLocation;
- while (iterator.hasNext())
- {
- Object wsdlElement = iterator.next();
-
- if (wsdlElement != null)
- {
- string += " " + wsdlElement.getClass().getName() + ": ";
- if ((wsdlElementLocation =
- (ElementLocation) wsdlElementList.get(wsdlElement))
- == null)
- {
- string += "null\n";
- }
-
- else
- {
- string += " "
- + wsdlElement.getClass().getName()
- + ": "
- + wsdlElementLocation.getLineNumber()
- + ", "
- + wsdlElementLocation.getColumnNumber()
- + "\n";
- }
- }
- }
-
- return string;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLReaderImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLReaderImpl.java
deleted file mode 100644
index a9f65efdf..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLReaderImpl.java
+++ /dev/null
@@ -1,801 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-import javax.wsdl.WSDLException;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.factory.WSDLFactory;
-import javax.xml.namespace.QName;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.apache.xerces.dom.ElementImpl;
-import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-
-import com.ibm.wsdl.Constants;
-import com.ibm.wsdl.util.StringUtils;
-import com.ibm.wsdl.util.xml.DOMUtils;
-import com.ibm.wsdl.util.xml.QNameUtils;
-import com.ibm.wsdl.util.xml.XPathUtils;
-
-/**
- * This class is a specialization of com.ibm.wsdl.xml.WSDLReaderImpl in WSDL4J.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class WSDLReaderImpl extends com.ibm.wsdl.xml.WSDLReaderImpl
-{
- // WSDL element list.
- protected WSDLElementList wsdlElementList = new WSDLElementList();
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseDefinitions(java.lang.String, org.w3c.dom.Element, java.util.Map)
- */
- protected Definition parseDefinitions(
- String documentBaseURI,
- Element defEl,
- Map importedDefs)
- throws WSDLException
- {
- Definition def = null;
- ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- Thread.currentThread().setContextClassLoader(WSDLReaderImpl.class.getClassLoader());
-
- def =
- super.parseDefinitions(documentBaseURI, defEl, importedDefs);
-
- // Try to add element to list
- addElementToList(defEl, def);
-
-
- }
-catch (Exception e)
- {
- }
- finally
- {
- Thread.currentThread().setContextClassLoader(currentLoader);
- }
- return def;
- }
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseImport(org.w3c.dom.Element, javax.wsdl.Definition, java.util.Map)
- */
- protected Import parseImport(Element element, Definition definition, Map map)
- throws WSDLException
- {
- /*boolean wasEx = false;
- if (def.getDocumentBaseURI()!=null){
- File f = new File(def.getDocumentBaseURI());
- if (f.getParent()!=null && importEl.getAttribute("location")!=null){
- f = new File(f.getParent()+"/"+importEl.getAttribute("location"));
-
- }
- } else wasEx = false;
-
- Import importDef = super.parseImport(importEl, def, importedDefs);
-
- // Try to add element to list
- addElementToList(importEl, importDef);
-
- return importDef;*/
-
- /*Import import1 = definition.createImport();
- String s = DOMUtils.getAttribute(element, "namespace");
- String s1 = DOMUtils.getAttribute(element, "location");
- if (s != null)
- import1.setNamespaceURI(s);
- if (s1 != null) {
- if (importDocuments) {
- String s2 = definition.getDocumentBaseURI();
- try {
-
- URL url1 = s2 == null ? null : StringUtils.getURL(null, s2);
- URL url = StringUtils.getURL(url1, s1);
- InputStream inputstream =
- StringUtils.getContentAsInputStream(url);
- inputstream.close();
- } catch (IOException ex) {
- //import1.setLocationURI(null);
- addElementToList(element, import1);
- return import1;
- } catch (Throwable ex) {
- throw new WSDLException(
- "OTHER_ERROR",
- "Unable to resolve imported document at '" + s1 + "'.",
- ex);
- }
-
- }
- }
- Import importDef = super.parseImport(element, definition, map);
- addElementToList(element, importDef);*/
- Import import1 = definition.createImport();
- String s = DOMUtils.getAttribute(element, "namespace");
- String s1 = DOMUtils.getAttribute(element, "location");
- if (s != null)
- import1.setNamespaceURI(s);
- // ADD: check "location" attribute for empty
- // string to prevent self-defenition assigning
- if ((s1 != null) && (s1.length() > 0))
- {
- import1.setLocationURI(s1);
- if (importDocuments)
- try
- {
- String s2 = definition.getDocumentBaseURI();
- Definition definition1 = null;
- InputStream inputstream = null;
- InputSource inputsource = null;
- URL url = null;
- if (loc != null)
- {
- inputsource = loc.getImportInputSource(s2, s1);
- String s3 = loc.getLatestImportURI();
- definition1 = (Definition) map.get(s3);
- }
- else
- {
- URL url1 = s2 == null ? null : StringUtils.getURL(null, s2);
- url = StringUtils.getURL(url1, s1);
- definition1 = (Definition) map.get(url.toString());
- if (definition1 == null)
- {
- try
- {
-
- inputstream = url.openStream();
- }
- catch (IOException ex)
- {
- //import1.setLocationURI(null);
- addElementToList(element, import1);
- return import1;
- }
- if (inputstream != null)
- inputsource = new InputSource(inputstream);
- }
- }
- if (definition1 == null)
- {
- if (inputsource == null)
- throw new WSDLException(
- "OTHER_ERROR",
- "Unable to locate imported document at '"
- + s1
- + "'"
- + (s2 != null ? ", relative to '" + s2 + "'." : "."));
- Document document = null;
- try
- {
- document = getDocument(inputsource, s1);
- }
- catch (WSDLException ex)
- {
- addElementToList(element, import1);
- return import1;
- }
- if (inputstream != null)
- inputstream.close();
- Element element2 = document.getDocumentElement();
- if (QNameUtils.matches(Constants.Q_ELEM_DEFINITIONS, element2))
- {
- //if (verbose)
- // System.out.println(
- // "Retrieving document at '"
- // + s1
- // + "'"
- // + (s2 != null ? ", relative to '" + s2 + "'." : "."));
- String s4 =
- loc == null
- ? url == null
- ? s1
- : url.toString() : loc.getLatestImportURI();
- definition1 = readWSDL(s4, element2, map);
- }
- else
- {
- QName qname = QNameUtils.newQName(element2);
- if (Constants.XSD_QNAME_LIST.contains(qname))
- {
- WSDLFactory wsdlfactory =
- factoryImplName == null
- ? WSDLFactory.newInstance()
- : WSDLFactory.newInstance(factoryImplName);
- definition1 = wsdlfactory.newDefinition();
- if (extReg != null)
- definition1.setExtensionRegistry(extReg);
- String s5 =
- loc == null
- ? url == null
- ? s1
- : url.toString() : loc.getLatestImportURI();
- definition1.setDocumentBaseURI(s5);
- /* Don't add types element since it doesn't exist. Adding it causes problems
- * since it will add a types element for processing that does not exist.
- Types types = definition1.createTypes();
- UnknownExtensibilityElement unknownextensibilityelement =
- new UnknownExtensibilityElement();
- unknownextensibilityelement.setElement(element2);
- types.addExtensibilityElement(
- unknownextensibilityelement);
- definition1.setTypes(types);
- */
- }
- }
- }
- if (definition1 != null)
- import1.setDefinition(definition1);
- }
- catch (WSDLException wsdlexception)
- {
- wsdlexception.setLocation(XPathUtils.getXPathExprFromNode(element));
- throw wsdlexception;
- }
- catch (Throwable throwable)
- {
- throw new WSDLException(
- "OTHER_ERROR",
- "Unable to resolve imported document at '" + s1 + "'.",
- throwable);
- }
- }
- for (Element element1 = DOMUtils.getFirstChildElement(element);
- element1 != null;
- element1 = DOMUtils.getNextSiblingElement(element1))
- if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, element1))
- import1.setDocumentationElement(element1);
- else
- DOMUtils.throwWSDLException(element1);
-
- return import1;
-
- }
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseTypes(org.w3c.dom.Element, javax.wsdl.Definition)
- */
- protected Types parseTypes(Element typesEl, Definition def)
- throws WSDLException
- {
- Types types = super.parseTypes(typesEl, def);
-
- // Try to add element to list
- addElementToList(typesEl, types);
-
- return types;
- }
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseBinding(org.w3c.dom.Element, javax.wsdl.Definition)
- */
- protected Binding parseBinding(Element bindingEl, Definition def)
- throws WSDLException
- {
- Binding binding = super.parseBinding(bindingEl, def);
-
- // Try to add element to list
- addElementToList(bindingEl, binding);
-
- return binding;
- }
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseBindingOperation(org.w3c.dom.Element, javax.wsdl.PortType, javax.wsdl.Definition)
- */
- protected BindingOperation parseBindingOperation(
- Element bindingOperationEl,
- PortType portType,
- Definition def)
- throws WSDLException
- {
- BindingOperation bindingOperation = null;
-
- // The follow try-catch was added to detect when a duplicate operation name was detected
- try
- {
- bindingOperation =
- super.parseBindingOperation(bindingOperationEl, portType, def);
- }
-
- catch (IllegalArgumentException iae)
- {
- if (iae.getMessage().startsWith("Duplicate"))
- {
- bindingOperation =
- parseBindingOperationWithDuplicateNames(
- bindingOperationEl,
- portType,
- def);
- }
-
- else
- {
- throw iae;
- }
- }
-
- // Try to add element to list
- if (bindingOperation != null)
- {
- addElementToList(bindingOperationEl, bindingOperation);
- }
-
- return bindingOperation;
- }
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseBindingInput(org.w3c.dom.Element, javax.wsdl.Definition)
- */
- protected BindingInput parseBindingInput(
- Element bindingInputEl,
- Definition def)
- throws WSDLException
- {
- BindingInput bindingInput = super.parseBindingInput(bindingInputEl, def);
-
- // Try to add element to list
- addElementToList(bindingInputEl, bindingInput);
-
- return bindingInput;
- }
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseBindingOutput(org.w3c.dom.Element, javax.wsdl.Definition)
- */
- protected BindingOutput parseBindingOutput(
- Element bindingOutputEl,
- Definition def)
- throws WSDLException
- {
- BindingOutput bindingOutput =
- super.parseBindingOutput(bindingOutputEl, def);
-
- // Try to add element to list
- addElementToList(bindingOutputEl, bindingOutput);
-
- return bindingOutput;
- }
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseBindingFault(org.w3c.dom.Element, javax.wsdl.Definition)
- */
- protected BindingFault parseBindingFault(
- Element bindingFaultEl,
- Definition def)
- throws WSDLException
- {
- BindingFault bindingFault = super.parseBindingFault(bindingFaultEl, def);
-
- // Try to add element to list
- addElementToList(bindingFaultEl, bindingFault);
-
- return bindingFault;
- }
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseMessage(org.w3c.dom.Element, javax.wsdl.Definition)
- */
- protected Message parseMessage(Element msgEl, Definition def)
- throws WSDLException
- {
- Message msg = super.parseMessage(msgEl, def);
-
- // Try to add element to list
- addElementToList(msgEl, msg);
-
- return msg;
- }
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#parsePart(org.w3c.dom.Element, javax.wsdl.Definition)
- */
- protected Part parsePart(Element partEl, Definition def) throws WSDLException
- {
- //Part part = super.parsePart(partEl, def);
-
- Part part = def.createPart();
- String name = DOMUtils.getAttribute(partEl, Constants.ATTR_NAME);
-
- // WS-I: The try-catch was added for WSI2416
- QName elementName;
-
- try
- {
- elementName =
- DOMUtils.getQualifiedAttributeValue(
- partEl,
- Constants.ATTR_ELEMENT,
- Constants.ELEM_MESSAGE,
- false);
- }
-
- catch (WSDLException we)
- {
- String prefixedValue =
- DOMUtils.getAttribute(partEl, Constants.ATTR_ELEMENT);
- int index = prefixedValue.indexOf(':');
- String localPart = prefixedValue.substring(index + 1);
-
- elementName = new QName(localPart);
- }
-
- QName typeName =
- DOMUtils.getQualifiedAttributeValue(
- partEl,
- Constants.ATTR_TYPE,
- Constants.ELEM_MESSAGE,
- false);
-
- if (name != null)
- {
- part.setName(name);
- }
-
- if (elementName != null)
- {
- part.setElementName(elementName);
- }
-
- if (typeName != null)
- {
- part.setTypeName(typeName);
- }
-
- Element tempEl = DOMUtils.getFirstChildElement(partEl);
-
- while (tempEl != null)
- {
- if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
- {
- part.setDocumentationElement(tempEl);
- }
- else
- {
- DOMUtils.throwWSDLException(tempEl);
- }
-
- tempEl = DOMUtils.getNextSiblingElement(tempEl);
- }
-
- Map extensionAttributes = part.getExtensionAttributes();
-
- extensionAttributes.putAll(getPartAttributes(partEl, def));
-
- // Need to do something here to locate part definition.
-
- // Try to add element to list
- addElementToList(partEl, part);
-
- return part;
- }
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#parsePortType(org.w3c.dom.Element, javax.wsdl.Definition)
- */
- protected PortType parsePortType(Element portTypeEl, Definition def)
- throws WSDLException
- {
- PortType portType = super.parsePortType(portTypeEl, def);
-
- // Try to add element to list
- addElementToList(portTypeEl, portType);
-
- return portType;
- }
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseOperation(org.w3c.dom.Element, javax.wsdl.PortType, javax.wsdl.Definition)
- */
- protected Operation parseOperation(
- Element opEl,
- PortType portType,
- Definition def)
- throws WSDLException
- {
- Operation op = super.parseOperation(opEl, portType, def);
-
- // Try to add element to list
- addElementToList(opEl, op);
-
- return op;
- }
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseService(org.w3c.dom.Element, javax.wsdl.Definition)
- */
- protected Service parseService(Element serviceEl, Definition def)
- throws WSDLException
- {
- Service service = super.parseService(serviceEl, def);
-
- // Try to add element to list
- addElementToList(serviceEl, service);
-
- return service;
- }
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#parsePort(org.w3c.dom.Element, javax.wsdl.Definition)
- */
- protected Port parsePort(Element portEl, Definition def) throws WSDLException
- {
- Port port = super.parsePort(portEl, def);
-
- // Try to add element to list
- addElementToList(portEl, port);
-
- return port;
- }
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseExtensibilityElement(java.lang.Class, org.w3c.dom.Element, javax.wsdl.Definition)
- */
- protected ExtensibilityElement parseExtensibilityElement(
- Class parentType,
- Element el,
- Definition def)
- throws WSDLException
- {
- ExtensibilityElement extElement =
- super.parseExtensibilityElement(parentType, el, def);
-
- // Try to add element to list
- addElementToList(el, extElement);
-
- return extElement;
- }
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseInput(org.w3c.dom.Element, javax.wsdl.Definition)
- */
- protected Input parseInput(Element inputEl, Definition def)
- throws WSDLException
- {
- Input input = super.parseInput(inputEl, def);
-
- // Try to add element to list
- addElementToList(inputEl, input);
-
- return input;
- }
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseOutput(org.w3c.dom.Element, javax.wsdl.Definition)
- */
- protected Output parseOutput(Element outputEl, Definition def)
- throws WSDLException
- {
- Output output = super.parseOutput(outputEl, def);
-
- // Try to add element to list
- addElementToList(outputEl, output);
-
- return output;
- }
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseFault(org.w3c.dom.Element, javax.wsdl.Definition)
- */
- protected Fault parseFault(Element faultEl, Definition def)
- throws WSDLException
- {
- Fault fault = super.parseFault(faultEl, def);
-
- // Try to add element to list
- addElementToList(faultEl, fault);
-
- return fault;
- }
-
- /* (non-Javadoc)
- * @see com.ibm.wsdl.xml.WSDLReaderImpl#getDocument(org.xml.sax.InputSource, java.lang.String)
- */
- protected Document getDocument(InputSource inputSource, String desc)
- throws WSDLException
- {
- ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- Thread.currentThread().setContextClassLoader(WSDLReaderImpl.class.getClassLoader());
-
- //DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- DocumentBuilderFactory factory =
- new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
-
- factory.setNamespaceAware(true);
- factory.setValidating(false);
-
- DocumentBuilder builder = factory.newDocumentBuilder();
- Document doc = builder.parse(inputSource);
-
- return doc;
- }
- catch (Throwable t)
- {
- throw new WSDLException(
- WSDLException.PARSER_ERROR,
- "Problem parsing '" + desc + "'.",
- t);
- }
- finally
- {
- Thread.currentThread().setContextClassLoader(currentLoader);
- }
- }
-
- /**
- * Get element list.
- * @return the element list.
- */
- public WSDLElementList getElementList()
- {
- return this.wsdlElementList;
- }
-
- /**
- * Add WSDL element to element list.
- */
- private void addElementToList(Element element, Object wsdlElement)
- {
- ElementLocation elementLocation = null;
-
- try
- {
- // See if the element object is an instanceof org.apache.xerces.dom.ElementImpl
- ElementImpl elementImpl = (ElementImpl) element;
-
- // If it is, then get the element location information
- elementLocation =
- (ElementLocation) elementImpl.getUserData();
-
- // Add it to the list
- this.wsdlElementList.addElement(wsdlElement, elementLocation);
- }
-
- catch (ClassCastException cce)
- {
- // ADD: Should we add the element with a null or zero location?
- }
- }
-
- /**
- * This method is used when a WSDL document contains duplicate operation names.
- * It is the same as the original parseBindingOperation method, except that it will
- * just find the first operation that matches instead of throwing an exception.
- */
- private BindingOperation parseBindingOperationWithDuplicateNames(
- Element bindingOperationEl,
- PortType portType,
- Definition def)
- throws WSDLException
- {
- BindingOperation bindingOperation = def.createBindingOperation();
- String name =
- DOMUtils.getAttribute(bindingOperationEl, Constants.ATTR_NAME);
-
- if (name != null)
- {
- bindingOperation.setName(name);
- }
-
- Element tempEl = DOMUtils.getFirstChildElement(bindingOperationEl);
-
- while (tempEl != null)
- {
- if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
- {
- bindingOperation.setDocumentationElement(tempEl);
- }
- else if (QNameUtils.matches(Constants.Q_ELEM_INPUT, tempEl))
- {
- bindingOperation.setBindingInput(parseBindingInput(tempEl, def));
- }
- else if (QNameUtils.matches(Constants.Q_ELEM_OUTPUT, tempEl))
- {
- bindingOperation.setBindingOutput(parseBindingOutput(tempEl, def));
- }
- else if (QNameUtils.matches(Constants.Q_ELEM_FAULT, tempEl))
- {
- bindingOperation.addBindingFault(parseBindingFault(tempEl, def));
- }
- else
- {
- bindingOperation.addExtensibilityElement(
- parseExtensibilityElement(BindingOperation.class, tempEl, def));
- }
-
- tempEl = DOMUtils.getNextSiblingElement(tempEl);
- }
-
- if (portType != null)
- {
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
- String inputName = (bindingInput != null ? bindingInput.getName() : null);
- String outputName =
- (bindingOutput != null ? bindingOutput.getName() : null);
-
- //Operation op = portType.getOperation(name, inputName, outputName);
- // Get all operations, and then find the first one that matches
- Operation op = null, checkOperation;
- Iterator iterator = portType.getOperations().iterator();
- while (iterator.hasNext() && op == null)
- {
- // Get the next operation
- checkOperation = (Operation) iterator.next();
-
- // Get the operation name, input name, and output name
- String checkName = checkOperation.getName();
- String checkInputName =
- (checkOperation.getInput() == null
- ? null
- : checkOperation.getInput().getName());
- String checkOutputName =
- (checkOperation.getOutput() == null
- ? null
- : checkOperation.getOutput().getName());
-
- // If the names match, then that operation
- if ((checkName != null && checkName.equals(name))
- && ((checkInputName != null && checkInputName.equals(inputName))
- || (checkInputName == null && inputName == null))
- && ((checkOutputName != null && checkOutputName.equals(outputName))
- || (checkOutputName == null && outputName == null)))
- {
- op = checkOperation;
- }
- }
-
- if (op == null)
- {
- op = def.createOperation();
- op.setName(name);
- portType.addOperation(op);
- }
-
- bindingOperation.setOperation(op);
- }
-
- return bindingOperation;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLUtils.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLUtils.java
deleted file mode 100644
index f175be340..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLUtils.java
+++ /dev/null
@@ -1,384 +0,0 @@
-/*******************************************************************************
- * 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.wsdl;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.PortType;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-
-/**
- * Set of XML related utilities.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public final class WSDLUtils
-{
-
- /**
- * Method isRpcLiteral.
- * @param bindingStyle a binding style.
- * @param operation a WSDL binding operation artifact.
- * @return true if binding is rpc literal.
- */
- public static boolean isRpcLiteral(
- String bindingStyle,
- BindingOperation operation)
- {
- return checkStyleAndUse(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
- WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT,
- bindingStyle,
- operation);
- }
-
- /**
- * Method isDocLiteral.
- * @param bindingStyle the binding style.
- * @param operation a WSDL binding operation.
- * @return true if binding is document literal.
- */
- public static boolean isDocLiteral(
- String bindingStyle,
- BindingOperation operation)
- {
- return checkStyleAndUse(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC,
- WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT,
- bindingStyle,
- operation);
- }
-
- /**
- * Method checkStyleAndUse.
- */
- private static boolean checkStyleAndUse(
- String checkStyle,
- String checkUse,
- String bindingStyle,
- BindingOperation bindingOperation)
- {
- boolean styleFound = false;
- boolean styleAndUseFound = false;
-
- // Find the soapbind:operation element
- SOAPOperation soapOperation = getSoapOperation(bindingOperation);
-
- // If there are no ext elements, then check against binding style
- if ((soapOperation == null) || (soapOperation.getStyle() == null))
- {
- if (checkStyle.equals(bindingStyle))
- styleFound = true;
- }
-
- else
- {
- if (checkStyle.equals(soapOperation.getStyle()))
- styleFound = true;
- }
-
- // If style found then check use
- if (styleFound)
- {
- // Find the soapbind:body element
- SOAPBody soapBody = getInputSoapBody(bindingOperation);
-
- // If there are no soapbind:body, then check against default use value
- if ((soapBody == null) || (soapBody.getUse() == null))
- {
- if (checkUse.equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
- styleAndUseFound = true;
- }
-
- else
- {
- if (checkUse.equals(soapBody.getUse()))
- styleAndUseFound = true;
- }
- }
-
- return styleAndUseFound;
- }
-
- /**
- * Get soapbind:binding.
- * @param binding a Binding object.
- * @return soapbind:binding.
- */
- public static SOAPBinding getSoapBinding(Binding binding)
- {
- SOAPBinding soapBinding = null;
-
- List extElements = null;
-
- // Find the soapbind:operation element
- if ((extElements = binding.getExtensibilityElements()) != null)
- {
- for (Iterator iterator = extElements.iterator();
- iterator.hasNext() && (soapBinding == null);
- )
- {
- Object obj = iterator.next();
-
- if (obj instanceof SOAPBinding)
- {
- soapBinding = (SOAPBinding) obj;
- }
- }
- }
-
- return soapBinding;
- }
-
- /**
- * Get soapbind:operation.
- * @param bindingOperation a BindingOperation object.
- * @return soapbind:operation.
- */
- public static SOAPOperation getSoapOperation(BindingOperation bindingOperation)
- {
- SOAPOperation soapOperation = null;
-
- List extElements = null;
-
- // Find the soapbind:operation element
- if ((extElements = bindingOperation.getExtensibilityElements()) != null)
- {
- for (Iterator iterator = extElements.iterator();
- iterator.hasNext() && (soapOperation == null);
- )
- {
- Object obj = iterator.next();
-
- if (obj instanceof SOAPOperation)
- {
- soapOperation = (SOAPOperation) obj;
- }
- }
- }
-
- return soapOperation;
- }
-
- /**
- * Get soapbind:body from input element.
- * @param bindingOperation the BindingOperation object.
- * @return soapbind:body from input element.
- */
- public static SOAPBody getInputSoapBody(BindingOperation bindingOperation)
- {
- SOAPBody soapBody = null;
-
- List extElements = null;
-
- // Find the soapbind:body element
- if ((extElements =
- bindingOperation.getBindingInput().getExtensibilityElements())
- != null)
- {
- for (Iterator iterator = extElements.iterator();
- iterator.hasNext() && (soapBody == null);
- )
- {
- Object obj = iterator.next();
-
- if (obj instanceof SOAPBody)
- {
- soapBody = (SOAPBody) obj;
- }
- }
- }
-
- return soapBody;
- }
-
- /**
- * Find messages referenced by a header or headerfault.
- * @param definition a Definition object.
- * @param binding a Binding object.
- * @return messages referenced by a header or headerfault.
- */
- public static HashSet findMessages(Definition definition, Binding binding)
- {
- BindingOperation bindingOperation;
-
- HashSet tempMessages, bindingMessages = new HashSet();
-
- HashSet portTypeMessages = findMessages(binding.getPortType());
-
- // Process each operation
- Iterator iterator = binding.getBindingOperations().iterator();
- while (iterator.hasNext())
- {
- bindingOperation = (BindingOperation) iterator.next();
-
- // Process the input and then the output
- if (bindingOperation.getBindingInput() != null)
- {
- tempMessages =
- findMessages(
- bindingOperation
- .getBindingInput()
- .getExtensibilityElements()
- .iterator(),
- portTypeMessages,
- definition);
-
- // Add messages to binding message set
- bindingMessages.addAll(tempMessages);
- }
-
- // Process output
- if (bindingOperation.getBindingOutput() != null)
- {
- tempMessages =
- findMessages(
- bindingOperation
- .getBindingOutput()
- .getExtensibilityElements()
- .iterator(),
- portTypeMessages,
- definition);
-
- // Add messages to binding message set
- bindingMessages.addAll(tempMessages);
- }
- }
-
- return bindingMessages;
- }
-
- /**
- * Find the messages that are referenced by a header or headerfault.
- * @param portType a PortType object.
- * @return he messages that are referenced by a header or headerfault.
- */
- public static HashSet findMessages(PortType portType)
- {
- HashSet messageSet = new HashSet();
- Operation operation;
-
- Iterator iterator = portType.getOperations().iterator();
- while (iterator.hasNext())
- {
- // Get next operation to process
- operation = (Operation) iterator.next();
-
- // Get input and output message
- if (operation.getInput() != null)
- messageSet.add(operation.getInput().getMessage());
- if (operation.getOutput() != null)
- messageSet.add(operation.getOutput().getMessage());
-
- // Process any faults
- Iterator faults = operation.getFaults().values().iterator();
- while (faults.hasNext())
- {
- messageSet.add(((Fault) faults.next()).getMessage());
- }
- }
-
- return messageSet;
- }
-
- /**
- * Find the messages that are referenced by a header or headerfault.
- * @param extElementList a list of external elements.
- * @param messageSet a set of messages.
- * @param definition a Definition object.
- * @return the messages that are referenced by a header or headerfault.
- */
- protected static HashSet findMessages(
- Iterator extElementList,
- HashSet messageSet,
- Definition definition)
- {
- HashSet returnSet = new HashSet();
- ExtensibilityElement extElement;
- Message saveMessage = null;
-
- while (extElementList.hasNext())
- {
- // Get ext. element
- extElement = (ExtensibilityElement) extElementList.next();
-
- QName messageQName;
- Message message;
-
- // If this is a soap:header element, then check for message reference
- if (extElement instanceof SOAPHeader)
- {
- SOAPHeader soapHeader = (SOAPHeader) extElement;
- if ((messageQName = soapHeader.getMessage()) != null)
- {
- // If message not found, then create a dummy message element
- if ((message = definition.getMessage(messageQName)) == null)
- {
- message = definition.createMessage();
- message.setQName(messageQName);
- message.setUndefined(true);
- }
-
- if (!messageSet.contains(message))
- {
- returnSet.add(message);
- saveMessage = message;
- }
- }
-
- // Process any header faults within this header
- Iterator headerFaultList = soapHeader.getSOAPHeaderFaults().iterator();
- while (headerFaultList.hasNext())
- {
- // Get soap header fault
- SOAPHeaderFault soapHeaderFault =
- (SOAPHeaderFault) headerFaultList.next();
- if ((messageQName = soapHeaderFault.getMessage()) != null)
- {
- // If message not found, then create a dummy message element
- if ((message = definition.getMessage(messageQName)) == null)
- {
- message = definition.createMessage();
- message.setQName(messageQName);
- message.setUndefined(true);
- }
-
- // If message not in message set and return set, then add it
- if (!messageSet.contains(message)
- && ((saveMessage == null)
- || (saveMessage != null
- && !saveMessage.getQName().equals(message.getQName()))))
- returnSet.add(message);
- }
- }
- }
- }
-
- return returnSet;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/VisitorAdaptor.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/VisitorAdaptor.java
deleted file mode 100644
index 8b909382a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/VisitorAdaptor.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * 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.wsdl.traversal;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.w3c.dom.Element;
-
-/**
- * The class adapts the given object with the implemented
- * <code>WSDLVisitor</code> methods.
- *
- * @author Kulik
- */
-public class VisitorAdaptor implements InvocationHandler
-{
-
- // optimization hint
- static final private Class[] visitorClass = new Class[] { WSDLVisitor.class };
-
- /**
- * The array is used for determination of actual javax.wsdl class
- */
- private static Class[] wsdl =
- new Class[] {
- Part.class,
- Service.class,
- Types.class,
- Operation.class,
- Input.class,
- Output.class,
- Fault.class,
- Binding.class,
- BindingOperation.class,
- BindingInput.class,
- BindingOutput.class,
- BindingFault.class,
- Import.class,
- Element.class,
- Message.class,
- Port.class,
- PortType.class,
- Definition.class,
- ExtensibilityElement.class,
- SOAPBinding.class,
- SOAPBody.class,
- SOAPHeader.class,
- SOAPHeaderFault.class,
- SOAPFault.class,
- SOAPOperation.class };
-
- final private Object visitor;
-
- private Map methods = new HashMap();
-
- /**
- * Constructor.
- * @param o a visitor object.
- */
- private VisitorAdaptor(Object o)
- {
- this.visitor = o;
- }
-
- /**
- * Adds method to method binding.
- * @param wsdlMethod a WSDL method.
- * @param targetMethod a target method.
- */
- private void addMethodBinding(Method wsdlMethod, Method targetMethod)
- {
- methods.put(wsdlMethod, targetMethod);
- }
-
- /**
- * The method proxies all "visit(XXX)" methods to the corresponding
- * "visit(XXX)" methods of the target visitor object.
- * @see java.lang.reflect.InvocationHandler#invoke(Object, Method, Object[])
- */
- public Object invoke(Object proxy, Method m, Object[] params)
- {
- try
- {
- Method target = (Method) methods.get(m);
- // assert target != null
- return target.invoke(visitor, params);
- }
- catch (Throwable t)
- {
- t.printStackTrace();
- }
- return null;
- }
-
- /**
- * The method extract the short class name.
- * @param c a class.
- * @return the short class name.
- */
- static private String getName(Class c)
- {
- if (c != null)
- {
- String name = c.getName();
- return name.substring(name.lastIndexOf(".") + 1);
- }
- return null;
- }
-
- /**
- * The method generates proxy for the given visitor.
- * Proxy redirects all visit(XXX) callback to the implemented in visitor
- * object.
- * @param visitor a vistor object.
- * @return a proxy for the given visitor.
- */
- public static WSDLTraversal adapt(Object visitor)
- {
- WSDLTraversal traversal = new WSDLTraversal();
-
- if (visitor == null)
- throw new IllegalArgumentException("Visitor object can not be NULL");
-
- VisitorAdaptor adaptor = new VisitorAdaptor(visitor);
-
- // check whether methods are implemented
- // get real class of the object
- Class c = visitor.getClass();
- // iterates through wsdl artifacts and looking for
- // void visit(XXX) implemented methods.
- for (int i = 0; i < wsdl.length; i++)
- try
- {
- // if method is not found the exception will be thrown
- Method m =
- c.getMethod(
- "visit",
- new Class[] { wsdl[i], Object.class, WSDLTraversalContext.class });
- // register binding WSDLVisitor method -> target visitor method
- adaptor.addMethodBinding(
- WSDLVisitor.class.getMethod(
- "visit",
- new Class[] { wsdl[i], Object.class, WSDLTraversalContext.class }),
- m);
- // register visitXXX in WSDLTraversalBuilder
- m =
- WSDLTraversal.class.getMethod(
- "visit" + getName(wsdl[i]),
- new Class[] { boolean.class });
- m.invoke(traversal, new Object[] { Boolean.TRUE });
- }
- catch (Exception e)
- {
- }
-
- // construct the WSDLVisitor by using java.lang.reflect.Proxy
- ClassLoader loader = Thread.currentThread().getContextClassLoader();
- WSDLVisitor wsdlVisitor =
- (WSDLVisitor) Proxy.newProxyInstance(loader, visitorClass, adaptor);
- // traverse WSDL document
- traversal.setVisitor(wsdlVisitor);
- return traversal;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLTraversal.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLTraversal.java
deleted file mode 100644
index 4a3569a77..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLTraversal.java
+++ /dev/null
@@ -1,3271 +0,0 @@
-/*******************************************************************************
- * 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.wsdl.traversal;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.w3c.dom.Element;
-
-/**
- * The class implements plain traverse over WSDL artifacts.
- * WSDLTraversal is context-driven traversal.
- *
- * @author Andrey Kulik
- */
-public class WSDLTraversal
-{
-
- /**
- * Current WSDL visitor (callback).
- */
- private WSDLVisitor visitor;
-
- /**
- * Flags which specify whether traversal will travers from one WSDL artifact
- * to another.
- */
- private boolean traverseBinding2BindingOperation = true;
- private boolean traverseBinding2Element = true;
- private boolean traverseBinding2ExtensibilityElement = true;
- private boolean traverseBinding2PortType = true; // reference
- private boolean traverseBindingFault2Element = true;
- private boolean traverseBindingFault2ExtensibilityElement = true;
- private boolean traverseBindingInput2Element = true;
- private boolean traverseBindingInput2ExtensibilityElement = true;
- private boolean traverseBindingOperation2BindingFault = true;
- private boolean traverseBindingOperation2BindingInput = true;
- private boolean traverseBindingOperation2BindingOutput = true;
- private boolean traverseBindingOperation2Element = true;
- private boolean traverseBindingOperation2ExtensibilityElement = true;
- private boolean traverseBindingOperation2Operation = true; // reference
- private boolean traverseBindingOutput2Element = true;
- private boolean traverseBindingOutput2ExtensibilityElement = true;
- private boolean traverseDefinition2Binding = true;
- private boolean traverseDefinition2Element = true;
- private boolean traverseDefinition2ExtensibilityElement = true;
- private boolean traverseDefinition2Import = true;
- private boolean traverseDefinition2Message = true;
- private boolean traverseDefinition2PortType = true;
- private boolean traverseDefinition2Service = true;
- private boolean traverseDefinition2Types = true;
- private boolean traverseFault2Element = true;
- private boolean traverseFault2Message = true; // reference
- private boolean traverseImport2Definition = true;
- private boolean traverseImport2Element = true;
- private boolean traverseInput2Element = true;
- private boolean traverseInput2Message = true; // reference
- private boolean traverseMessage2Element = true;
- private boolean traverseMessage2Part = true;
- private boolean traverseOperation2Element = true;
- private boolean traverseOperation2Fault = true;
- private boolean traverseOperation2Input = true;
- private boolean traverseOperation2Output = true;
- private boolean traverseOutput2Element = true;
- private boolean traverseOutput2Message = true; // reference
- private boolean traversePart2Element = true;
- private boolean traversePort2Binding = true; // reference
- private boolean traversePort2Element = true;
- private boolean traversePort2ExtensibilityElement = true;
- private boolean traversePortType2Element = true;
- private boolean traversePortType2Operation = true;
- private boolean traverseService2Element = true;
- private boolean traverseService2ExtensibilityElement = true;
- private boolean traverseService2Port = true;
- private boolean traverseTypes2Element = true;
- private boolean traverseTypes2ExtensibilityElement = true;
- //private boolean traverseSOAPBody2Part = true;
- private boolean traverseSOAPHeader2SOAPHeaderFault = true;
- private boolean traverseBinding2SOAPBinding = true;
- private boolean traverseBindingOperation2SOAPOperation = true;
- private boolean traverseBindingInput2SOAPHeader = true;
- private boolean traverseBindingInput2SOAPBody = true;
- private boolean traverseBindingOutput2SOAPHeader = true;
- private boolean traverseBindingOutput2SOAPBody = true;
- private boolean traverseBindingFault2SOAPFault = true;
-
- /**
- * Flags which specify whether traversal will visit corresponding WSDL
- * artifact.
- */
- private boolean visitBinding = false;
- private boolean visitBindingFault = false;
- private boolean visitBindingInput = false;
- private boolean visitBindingOperation = false;
- private boolean visitBindingOutput = false;
- private boolean visitDefinition = false;
- private boolean visitElement = false;
- private boolean visitExtensibilityElement = false;
- private boolean visitFault = false;
- private boolean visitImport = false;
- private boolean visitInput = false;
- private boolean visitMessage = false;
- private boolean visitOperation = false;
- private boolean visitOutput = false;
- private boolean visitPart = false;
- private boolean visitPort = false;
- private boolean visitPortType = false;
- private boolean visitService = false;
- private boolean visitTypes = false;
- private boolean visitSOAPBinding = false;
- private boolean visitSOAPBody = false;
- private boolean visitSOAPFault = false;
- private boolean visitSOAPHeader = false;
- private boolean visitSOAPHeaderFault = false;
- private boolean visitSOAPOperation = false;
-
- /**
- * Default constructor.
- * @see java.lang.Object#Object()
- */
- public WSDLTraversal()
- {
- }
-
- /**
- * The method specifies that traversal will ignore indirect references between
- * WSDL artifacts. For example:
- * <ol>
- * <li>binding to port type</li>
- * <li>binding operation to operation</li>
- * <li>fault to message</li>
- * <li>input to message</li>
- * <li>output to message</li>
- * <li>port to binding</li>
- * </ol>
- */
- public void ignoreReferences()
- {
- ignoreBinding2PortType();
- ignoreBindingOperation2Operation();
- ignoreFault2Message();
- ignoreInput2Message();
- ignoreOutput2Message();
- ignorePort2Binding();
- //ignoreSOAPBody2Part();
- }
-
- /**
- * The method sets visitor.
- * @param visitor a WSDL visitor.
- */
- public void setVisitor(WSDLVisitor visitor)
- {
- this.visitor = visitor;
- }
-
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return the traversal.
- */
- public WSDLTraversal ignoreBinding2SOAPBinding()
- {
- traverseBinding2SOAPBinding = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingOperation2SOAPOperation()
- {
- traverseBindingOperation2SOAPOperation = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingInput2SOAPHeader()
- {
- traverseBindingInput2SOAPHeader = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingInput2SOAPBody()
- {
- traverseBindingInput2SOAPBody = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingOutput2SOAPHeader()
- {
- traverseBindingOutput2SOAPHeader = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingOutput2SOAPBody()
- {
- traverseBindingOutput2SOAPBody = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingFault2SOAPFault()
- {
- traverseBindingFault2SOAPFault = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreSOAPHeader2SOAPHeaderFault()
- {
- traverseSOAPHeader2SOAPHeaderFault = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBinding2BindingOperation()
- {
- traverseBinding2BindingOperation = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBinding2Element()
- {
- traverseBinding2Element = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBinding2ExtensibilityElement()
- {
- traverseBinding2ExtensibilityElement = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBinding2PortType()
- {
- traverseBinding2PortType = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingFault2Element()
- {
- traverseBindingFault2Element = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingFault2ExtensibilityElement()
- {
- traverseBindingFault2ExtensibilityElement = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingInput2Element()
- {
- traverseBindingInput2Element = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingInput2ExtensibilityElement()
- {
- traverseBindingInput2ExtensibilityElement = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingOperation2BindingFault()
- {
- traverseBindingOperation2BindingFault = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingOperation2BindingInput()
- {
- traverseBindingOperation2BindingInput = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingOperation2BindingOutput()
- {
- traverseBindingOperation2BindingOutput = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingOperation2Element()
- {
- traverseBindingOperation2Element = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingOperation2ExtensibilityElement()
- {
- traverseBindingOperation2ExtensibilityElement = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingOperation2Operation()
- {
- traverseBindingOperation2Operation = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingOutput2Element()
- {
- traverseBindingOutput2Element = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingOutput2ExtensibilityElement()
- {
- traverseBindingOutput2ExtensibilityElement = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreDefinition2Binding()
- {
- traverseDefinition2Binding = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreDefinition2Element()
- {
- traverseDefinition2Element = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreDefinition2ExtensibilityElement()
- {
- traverseDefinition2ExtensibilityElement = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreDefinition2Import()
- {
- traverseDefinition2Import = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreDefinition2Message()
- {
- traverseDefinition2Message = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreDefinition2PortType()
- {
- traverseDefinition2PortType = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreDefinition2Service()
- {
- traverseDefinition2Service = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreDefinition2Types()
- {
- traverseDefinition2Types = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreFault2Element()
- {
- traverseFault2Element = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreFault2Message()
- {
- traverseFault2Message = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreImport2Definition()
- {
- traverseImport2Definition = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreImport2Element()
- {
- traverseImport2Element = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreInput2Element()
- {
- traverseInput2Element = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreInput2Message()
- {
- traverseInput2Message = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreMessage2Element()
- {
- traverseMessage2Element = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreMessage2Part()
- {
- traverseMessage2Part = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreOperation2Element()
- {
- traverseOperation2Element = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreOperation2Fault()
- {
- traverseOperation2Fault = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreOperation2Input()
- {
- traverseOperation2Input = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreOperation2Output()
- {
- traverseOperation2Output = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreOutput2Element()
- {
- traverseOutput2Element = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreOutput2Message()
- {
- traverseOutput2Message = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignorePart2Element()
- {
- traversePart2Element = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignorePort2Binding()
- {
- traversePort2Binding = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignorePort2Element()
- {
- traversePort2Element = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignorePort2ExtensibilityElement()
- {
- traversePort2ExtensibilityElement = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignorePortType2Element()
- {
- traversePortType2Element = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignorePortType2Operation()
- {
- traversePortType2Operation = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreService2Element()
- {
- traverseService2Element = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreService2ExtensibilityElement()
- {
- traverseService2ExtensibilityElement = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreService2Port()
- {
- traverseService2Port = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreTypes2Element()
- {
- traverseTypes2Element = false;
- return this;
- }
- /**
- * Instructs traversal to ignore reference between WSDL elements...
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreTypes2ExtensibilityElement()
- {
- traverseTypes2ExtensibilityElement = false;
- return this;
- }
-
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitSOAPBinding(boolean value)
- {
- visitSOAPBinding = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitSOAPBody(boolean value)
- {
- visitSOAPBody = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitSOAPFault(boolean value)
- {
- visitSOAPFault = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitSOAPHeader(boolean value)
- {
- visitSOAPHeader = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitSOAPHeaderFault(boolean value)
- {
- visitSOAPHeaderFault = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitSOAPOperation(boolean value)
- {
- visitSOAPOperation = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitBinding(boolean value)
- {
- visitBinding = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitBindingFault(boolean value)
- {
- visitBindingFault = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitBindingInput(boolean value)
- {
- visitBindingInput = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitBindingOperation(boolean value)
- {
- visitBindingOperation = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitBindingOutput(boolean value)
- {
- visitBindingOutput = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitDefinition(boolean value)
- {
- visitDefinition = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitElement(boolean value)
- {
- visitElement = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitExtensibilityElement(boolean value)
- {
- visitExtensibilityElement = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitFault(boolean value)
- {
- visitFault = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitImport(boolean value)
- {
- visitImport = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitInput(boolean value)
- {
- visitInput = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitMessage(boolean value)
- {
- visitMessage = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitOperation(boolean value)
- {
- visitOperation = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitOutput(boolean value)
- {
- visitOutput = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitPart(boolean value)
- {
- visitPart = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitPort(boolean value)
- {
- visitPort = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitPortType(boolean value)
- {
- visitPortType = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitService(boolean value)
- {
- visitService = value;
- return this;
- }
- /**
- * Instructs traversal to visit or not the corresponding WSDL element.
- * @param value true if the WSDL element should be visited, otherwise - false.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal visitTypes(boolean value)
- {
- visitTypes = value;
- return this;
- }
-
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBinding()
- {
- traverseDefinition2Binding = false;
- traversePort2Binding = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingFault()
- {
- traverseBindingOperation2BindingFault = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingInput()
- {
- traverseBindingOperation2BindingInput = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingOperation()
- {
- traverseBinding2BindingOperation = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreBindingOutput()
- {
- traverseBindingOperation2BindingOutput = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreDefinition()
- {
- traverseImport2Definition = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreElement()
- {
- traverseBinding2Element = false;
- traverseBindingFault2Element = false;
- traverseBindingInput2Element = false;
- traverseBindingOperation2Element = false;
- traverseBindingOutput2Element = false;
- traverseDefinition2Element = false;
- traversePort2Element = false;
- traverseService2Element = false;
- traverseFault2Element = false;
- traverseOutput2Element = false;
- traverseImport2Element = false;
- traverseInput2Element = false;
- traverseOperation2Element = false;
- traverseMessage2Element = false;
- traversePart2Element = false;
- traversePortType2Element = false;
- traverseTypes2Element = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreExtensibilityElement()
- {
- traverseService2ExtensibilityElement = false;
- traversePort2ExtensibilityElement = false;
- traverseDefinition2ExtensibilityElement = false;
- traverseBindingOutput2ExtensibilityElement = false;
- traverseBinding2ExtensibilityElement = false;
- traverseBindingFault2ExtensibilityElement = false;
- traverseBindingInput2ExtensibilityElement = false;
- traverseBindingOperation2ExtensibilityElement = false;
- traverseTypes2ExtensibilityElement = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreSOAPBinding()
- {
- traverseBinding2SOAPBinding = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreSOAPOperation()
- {
- traverseBindingOperation2SOAPOperation = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreSOAPBody()
- {
- traverseBindingInput2SOAPBody = false;
- traverseBindingOutput2SOAPBody = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreSOAPHeader()
- {
- traverseBindingInput2SOAPHeader = false;
- traverseBindingOutput2SOAPHeader = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreSOAPHeaderFault()
- {
- traverseSOAPHeader2SOAPHeaderFault = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreSOAPFault()
- {
- traverseBindingFault2SOAPFault = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreFault()
- {
- traverseOperation2Fault = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreImport()
- {
- traverseImport2Definition = false; // fix
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreInput()
- {
- traverseOperation2Input = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreMessage()
- {
- traverseFault2Message = false;
- traverseDefinition2Message = false;
- traverseInput2Message = false;
- traverseOutput2Message = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreOperation()
- {
- traverseBindingOperation2Operation = false;
- traversePortType2Operation = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreOutput()
- {
- traverseOperation2Output = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignorePart()
- {
- traverseMessage2Part = false;
- //traverseSOAPBody2Part = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignorePort()
- {
- traverseService2Port = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignorePortType()
- {
- traverseBinding2PortType = false;
- traverseDefinition2PortType = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreService()
- {
- traverseDefinition2Service = false;
- return this;
- }
- /**
- * Instructs traversal to ignore all references to the corresponding WSDL
- * element.
- * @return a WSDLTraversal object.
- */
- public WSDLTraversal ignoreTypes()
- {
- traverseDefinition2Types = false;
- return this;
- }
-
- /**
- * The method adjusts traveseXXX variables according to the visitXXX variables
- */
- private void adjust()
- {
- adjustPart();
- adjustService();
- adjustTypes();
- adjustOperation();
- adjustInput();
- adjustOutput();
- adjustFault();
- adjustBinding();
- adjustBindingOperation();
- adjustBindingInput();
- adjustBindingOutput();
- adjustBindingFault();
- adjustImport();
- adjustElement();
- adjustMessage();
- adjustPort();
- adjustPortType();
- adjustDefinition();
- adjustExtensibilityElement();
- adjustSOAPBinding();
- adjustSOAPBody();
- adjustSOAPHeader();
- adjustSOAPHeaderFault();
- adjustSOAPFault();
- adjustSOAPOperation();
- }
-
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustExtensibilityElement()
- {
- boolean value = visitExtensibilityElement;
- if (!value)
- ignoreExtensibilityElement();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustPart()
- {
- boolean value = visitPart || (traversePart2Element && adjustElement());
- if (!value)
- ignorePart();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustSOAPHeader()
- {
- boolean value =
- visitSOAPHeader
- || (traverseSOAPHeader2SOAPHeaderFault && adjustSOAPHeaderFault());
- if (!value)
- ignoreSOAPHeader();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustBindingOutput()
- {
- boolean value =
- visitBindingOutput
- || (traverseBindingOutput2Element && adjustElement())
- || (traverseBindingOutput2ExtensibilityElement
- && adjustExtensibilityElement())
- || (traverseBindingOutput2SOAPBody
- && adjustSOAPBody()
- || (traverseBindingOutput2SOAPHeader && adjustSOAPHeader()));
- if (!value)
- ignoreBindingOutput();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustElement()
- {
- boolean value = visitElement;
- if (!value)
- ignoreElement();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustTypes()
- {
- boolean value =
- visitTypes
- || (traverseTypes2Element && adjustElement())
- || (traverseTypes2ExtensibilityElement && adjustExtensibilityElement());
- if (!value)
- ignoreTypes();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustSOAPBinding()
- {
- boolean value = visitSOAPBinding;
- if (!value)
- ignoreSOAPBinding();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustPort()
- {
- boolean value =
- visitPort
- || (traversePort2Element && adjustElement())
- || (traversePort2ExtensibilityElement && adjustExtensibilityElement())
- || (traversePort2Binding && adjustBinding());
- if (!value)
- ignorePort();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustOperation()
- {
- boolean value =
- visitOperation
- || (traverseOperation2Element && adjustElement())
- || (traverseOperation2Input && adjustInput())
- || (traverseOperation2Output && adjustOutput())
- || (traverseOperation2Fault && adjustFault());
- if (!value)
- ignoreOperation();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustBindingOperation()
- {
- boolean value =
- visitBindingOperation
- || (traverseBindingOperation2Element && adjustElement())
- || (traverseBindingOperation2BindingFault && adjustBindingFault())
- || (traverseBindingOperation2BindingOutput && adjustBindingOutput())
- || (traverseBindingOperation2Operation && adjustOperation())
- || (traverseBindingOperation2BindingInput && adjustBindingInput())
- || (traverseBindingOperation2ExtensibilityElement
- && adjustExtensibilityElement())
- || (traverseBindingOperation2SOAPOperation && adjustSOAPOperation());
- if (!value)
- ignoreBindingOperation();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustInput()
- {
- boolean value =
- visitInput
- || (traverseInput2Element && adjustElement())
- || (traverseInput2Message && adjustMessage());
- if (!value)
- ignoreInput();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustBinding()
- {
- boolean value =
- visitBinding
- || (traverseBinding2Element && adjustElement())
- || (traverseBinding2BindingOperation && adjustBindingOperation())
- || (traverseBinding2ExtensibilityElement && adjustExtensibilityElement())
- || (traverseBinding2PortType && adjustPortType())
- || (traverseBinding2SOAPBinding && adjustSOAPBinding());
- if (!value)
- ignoreBinding();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustSOAPBody()
- {
- boolean value = visitSOAPBody;
- /* ||
- (traverseSOAPBody2Part && adjustPart());*/
- if (!value)
- ignoreSOAPBody();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustSOAPHeaderFault()
- {
- boolean value = visitSOAPHeaderFault;
- if (!value)
- ignoreSOAPHeaderFault();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustBindingInput()
- {
- boolean value =
- visitBindingInput
- || (traverseBindingInput2Element && adjustElement())
- || (traverseBindingInput2ExtensibilityElement
- && adjustExtensibilityElement())
- || (traverseBindingInput2SOAPBody
- && adjustSOAPBody()
- || (traverseBindingInput2SOAPHeader && adjustSOAPHeader()));
- if (!value)
- ignoreBindingInput();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustOutput()
- {
- boolean value =
- visitOutput
- || (traverseOutput2Element && adjustElement())
- || (traverseOutput2Message && adjustMessage());
- if (!value)
- ignoreOutput();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustBindingFault()
- {
- boolean value =
- visitBindingFault
- || (traverseBindingFault2Element && adjustElement())
- || (traverseBindingFault2ExtensibilityElement
- && adjustExtensibilityElement())
- || (traverseBindingFault2SOAPFault && adjustSOAPFault());
- if (!value)
- ignoreBindingFault();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustSOAPOperation()
- {
- boolean value = visitSOAPOperation;
- if (!value)
- ignoreSOAPOperation();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustDefinition()
- {
- boolean value =
- visitDefinition
- || (traverseDefinition2Element && adjustElement())
- || (traverseDefinition2Import && adjustImport())
- || (traverseDefinition2Types && adjustTypes())
- || (traverseDefinition2Message && adjustMessage())
- || (traverseDefinition2ExtensibilityElement
- && adjustExtensibilityElement())
- || (traverseDefinition2PortType && adjustPortType())
- || (traverseDefinition2Binding && adjustBinding())
- || (traverseDefinition2Service && adjustService());
- if (!value)
- ignoreDefinition();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustSOAPFault()
- {
- boolean value = visitSOAPFault;
- if (!value)
- ignoreSOAPFault();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustImport()
- {
- boolean value = visitImport || (traverseImport2Definition
- /* && adjustDefinition()*/
- )
- || // avoid cycling problem. Thus, you should call ignoreImport manually
- (traverseImport2Element && adjustElement());
- if (!value)
- ignoreImport();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustFault()
- {
- boolean value =
- visitFault
- || (traverseFault2Element && adjustElement())
- || (traverseFault2Message && adjustMessage());
- if (!value)
- ignoreFault();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustPortType()
- {
- boolean value =
- visitPortType
- || (traversePortType2Element && adjustElement())
- || (traversePortType2Operation && adjustOperation());
- if (!value)
- ignorePortType();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustService()
- {
- boolean value =
- visitService
- || (traverseService2Element && adjustElement())
- || (traverseService2ExtensibilityElement && adjustExtensibilityElement())
- || (traverseService2Port && adjustPort());
- if (!value)
- ignoreService();
- return value;
- }
- /**
- * The method adjusts traversal ignore flags according to the
- * corresponding visit flags.
- * @return boolean
- */
- private boolean adjustMessage()
- {
- boolean value =
- visitMessage
- || (traverseMessage2Element && adjustElement())
- || (traverseMessage2Part && adjustPart());
- if (!value)
- ignoreMessage();
- return value;
- }
-
- /**
- * The method traverses given WSDL extensibility element according to the
- * settings in the traversal context.
- *
- * @param objExtensibilityElement a WSDL extensibility element artifact.
- * @param parent parent of the WSDL extensibility element artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- ExtensibilityElement objExtensibilityElement,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.resumeExtensibilityElementProcessing();
- ctx.setExtensibilityElement(objExtensibilityElement);
- if (visitExtensibilityElement)
- visitor.visit(objExtensibilityElement, parent, ctx);
- }
-
- /**
- * The method traverses given WSDL part artifact according to the settings in
- * the traversal context.
- *
- * @param objPart the WSDL part artifact.
- * @param parent parent of the WSDL part artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(Part objPart, Object parent, WSDLTraversalContext ctx)
- {
- ctx.resumePartProcessing();
- ctx.setPart(objPart);
- if (visitPart)
- {
- visitor.visit(objPart, parent, ctx);
- if (!ctx.processPart())
- return;
- }
- if (objPart == null)
- return;
- if (traversePart2Element)
- traverse(objPart.getDocumentationElement(), objPart, ctx);
- }
-
- /**
- * The method traverses given WSDL SOAP header artifact according to the
- * settings in the traversal context.
- *
- * @param objSOAPHeader a WSDL SOAP header artifact.
- * @param parent parent of the WSDL SOAP header artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- SOAPHeader objSOAPHeader,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.resumeSOAPHeaderProcessing();
- ctx.setSOAPHeader(objSOAPHeader);
- if (visitSOAPHeader)
- {
- visitor.visit(objSOAPHeader, parent, ctx);
- if (!ctx.processSOAPHeader())
- return;
- }
- if (objSOAPHeader == null)
- return;
- if (traverseSOAPHeader2SOAPHeaderFault
- && objSOAPHeader.getSOAPHeaderFaults() != null)
- {
- Iterator it = objSOAPHeader.getSOAPHeaderFaults().iterator();
- while (it.hasNext())
- {
- traverse((SOAPHeaderFault) it.next(), objSOAPHeader, ctx);
- if (!ctx.processSOAPHeader())
- return;
- }
- }
- }
-
- /**
- * The method traverses given WSDL element artifact according to the settings in
- * the traversal context.
- *
- * @param objElement a WSDL element artifact.
- * @param parent parent of the WSDL element artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- Element objElement,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.setElement(objElement);
- if (visitElement)
- visitor.visit(objElement, parent, ctx);
- }
-
- /**
- * The method traverses given WSDL types artifact according to the settings in
- * the traversal context.
- *
- * @param objTypes a WSDL types artifact.
- * @param parent parent of the WSDL types artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- Types objTypes,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.resumeTypesProcessing();
- ctx.setTypes(objTypes);
- if (visitTypes)
- {
- visitor.visit(objTypes, parent, ctx);
- if (!ctx.processTypes())
- return;
- }
- if (objTypes == null)
- return;
- if (traverseTypes2Element)
- {
- traverse(objTypes.getDocumentationElement(), objTypes, ctx);
- if (!ctx.processTypes())
- return;
- }
- if (traverseTypes2ExtensibilityElement
- && objTypes.getExtensibilityElements() != null)
- {
- Iterator it = objTypes.getExtensibilityElements().iterator();
- while (it.hasNext())
- {
- traverse((ExtensibilityElement) it.next(), objTypes, ctx);
- if (!ctx.processTypes())
- return;
- }
- }
- }
-
- /**
- * The method traverses given WSDL SOAP binding artifact according to the
- * settings in the traversal context.
- *
- * @param objSOAPBinding a WSDL SOAP binding artifact.
- * @param parent parent of the WSDL SOAP binding artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- SOAPBinding objSOAPBinding,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.setSOAPBinding(objSOAPBinding);
- if (visitSOAPBinding)
- visitor.visit(objSOAPBinding, parent, ctx);
- }
-
- /**
- * The method traverses given WSDL definition artifact according to the
- * settings in the traversal context.
- *
- * @param objDefinition a WSDL definition artifact.
- * @param parent parent of the WSDL definition artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- Definition objDefinition,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.resumeDefinitionProcessing();
- ctx.setDefinition(objDefinition);
- if (visitDefinition)
- {
- visitor.visit(objDefinition, parent, ctx);
- if (!ctx.processDefinition())
- return;
- }
- if (objDefinition == null)
- return;
- if (traverseDefinition2Import && objDefinition.getImports() != null)
- {
- Iterator it = objDefinition.getImports().values().iterator();
- while (it.hasNext())
- {
- Vector v = (Vector) it.next();
- if (v != null)
- {
- Iterator it2 = v.iterator();
- while (it2.hasNext())
- {
- traverse((Import) it2.next(), objDefinition, ctx);
- if (!ctx.processDefinition())
- return;
- }
- }
- }
- }
- if (traverseDefinition2Element)
- {
- traverse(objDefinition.getDocumentationElement(), objDefinition, ctx);
- if (!ctx.processDefinition())
- return;
- }
- if (traverseDefinition2Types)
- {
- traverse(objDefinition.getTypes(), objDefinition, ctx);
- if (!ctx.processDefinition())
- return;
- }
- if (traverseDefinition2Message && objDefinition.getMessages() != null)
- {
- Iterator it = objDefinition.getMessages().values().iterator();
- while (it.hasNext())
- {
- traverse((Message) it.next(), objDefinition, ctx);
- if (!ctx.processDefinition())
- return;
- }
- }
- if (traverseDefinition2PortType && objDefinition.getPortTypes() != null)
- {
- Iterator it = objDefinition.getPortTypes().values().iterator();
- while (it.hasNext())
- {
- traverse((PortType) it.next(), objDefinition, ctx);
- if (!ctx.processDefinition())
- return;
- }
- }
- if (traverseDefinition2Binding && objDefinition.getBindings() != null)
- {
- Iterator it = objDefinition.getBindings().values().iterator();
- while (it.hasNext())
- {
- traverse((Binding) it.next(), objDefinition, ctx);
- if (!ctx.processDefinition())
- return;
- }
- }
- if (traverseDefinition2Service && objDefinition.getServices() != null)
- {
- Iterator it = objDefinition.getServices().values().iterator();
- while (it.hasNext())
- {
- traverse((Service) it.next(), objDefinition, ctx);
- if (!ctx.processDefinition())
- return;
- }
- }
- if (traverseDefinition2ExtensibilityElement
- && objDefinition.getExtensibilityElements() != null)
- {
- Iterator it = objDefinition.getExtensibilityElements().iterator();
- while (it.hasNext())
- {
- traverse((ExtensibilityElement) it.next(), objDefinition, ctx);
- if (!ctx.processDefinition())
- return;
- }
- }
- }
-
- /**
- * The method traverses given WSDL port artifact according to the settings in
- * the traversal context.
- *
- * @param objPort a WSDL port artifact.
- * @param parent parent of the WSDL port artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(Port objPort, Object parent, WSDLTraversalContext ctx)
- {
- ctx.resumePortProcessing();
- ctx.setPort(objPort);
- if (visitPort)
- {
- visitor.visit(objPort, parent, ctx);
- if (!ctx.processPort())
- return;
- }
- if (objPort == null)
- return;
- if (traversePort2Element)
- {
- traverse(objPort.getDocumentationElement(), objPort, ctx);
- if (!ctx.processPort())
- return;
- }
- if (traversePort2Binding)
- {
- traverse(objPort.getBinding(), objPort, ctx);
- if (!ctx.processPort())
- return;
- }
- if (traversePort2ExtensibilityElement
- && objPort.getExtensibilityElements() != null)
- {
- Iterator it = objPort.getExtensibilityElements().iterator();
- while (it.hasNext())
- {
- traverse((ExtensibilityElement) it.next(), objPort, ctx);
- if (!ctx.processPort())
- return;
- }
- }
- }
-
- /**
- * The method traverses given WSDL operation artifact according to the settings in
- * the traversal context.
- *
- * @param objOperation a WSDL operation artifact.
- * @param parent parent of the WSDL operation artifactt.
- * @param ctx the traversal contex.
- */
- private void traverse(
- Operation objOperation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.resumeOperationProcessing();
- ctx.setOperation(objOperation);
- if (visitOperation)
- {
- visitor.visit(objOperation, parent, ctx);
- if (!ctx.processOperation())
- return;
- }
- if (objOperation == null)
- return;
- if (traverseOperation2Element)
- {
- traverse(objOperation.getDocumentationElement(), objOperation, ctx);
- if (!ctx.processOperation())
- return;
- }
- if (traverseOperation2Input)
- {
- traverse(objOperation.getInput(), objOperation, ctx);
- if (!ctx.processOperation())
- return;
- }
- if (traverseOperation2Output)
- {
- traverse(objOperation.getOutput(), objOperation, ctx);
- if (!ctx.processOperation())
- return;
- }
- if (traverseOperation2Fault && objOperation.getFaults() != null)
- {
- Iterator it = objOperation.getFaults().values().iterator();
- while (it.hasNext())
- {
- traverse((Fault) it.next(), objOperation, ctx);
- if (!ctx.processOperation())
- return;
- }
- }
- }
-
- /**
- * The method traverses given WSDL input artifact according to the settings in
- * the traversal context.
- *
- * @param objInput a WSDL input artifact.
- * @param parent parent of the WSDL input artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- Input objInput,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.resumeInputProcessing();
- ctx.setInput(objInput);
- if (visitInput)
- {
- visitor.visit(objInput, parent, ctx);
- if (!ctx.processInput())
- return;
- }
- if (objInput == null)
- return;
- if (traverseInput2Element)
- {
- traverse(objInput.getDocumentationElement(), objInput, ctx);
- if (!ctx.processInput())
- return;
- }
- if (traverseInput2Message)
- traverse(objInput.getMessage(), objInput, ctx);
- }
-
- /**
- * The method traverses given WSDL SOAP body artifact according to the
- * settings in the traversal context.
- *
- * @param objSOAPBody a WSDL SOAP body artifact.
- * @param parent parent of the WSDL SOAP body artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- SOAPBody objSOAPBody,
- Object parent,
- WSDLTraversalContext ctx)
- {
- // ctx.resumeSOAPBodyProcessing();
- ctx.setSOAPBody(objSOAPBody);
- if (visitSOAPBody)
- // {
- visitor.visit(objSOAPBody, parent, ctx);
- /* if (!ctx.processSOAPBody())
- return;
- }
- if (objSOAPBody == null)
- return;
- if (traverseSOAPBody2Part && objSOAPBody.getParts() != null) {
- if (ctx)
- Iterator it = objSOAPBody.getParts().iterator();
- while (it.hasNext()) {
-
- traverse((Part)it.next(), objSOAPBody, ctx);
- if (!ctx.processSOAPBody())
- return;
- }
- }
- */
- }
-
- /**
- * The method traverses given WSDL SOAP header fault artifact according to
- * the settings in the traversal context.
- *
- * @param objSOAPHeaderFault a WSDL SOAP header fault artifact.
- * @param parent parent of the WSDL SOAP header fault artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- SOAPHeaderFault objSOAPHeaderFault,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.setSOAPHeaderFault(objSOAPHeaderFault);
- if (visitSOAPHeaderFault)
- visitor.visit(objSOAPHeaderFault, parent, ctx);
- }
-
- /**
- * The method traverses given WSDL output artifact according to the settings in
- * the traversal context.
- *
- * @param objOutput a WSDL output artifact.
- * @param parent parent of the WSDL output artifact.
- * @param ctx the traversal contex.
- * @param parent
- * @param ctx
- */
- private void traverse(
- Output objOutput,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.resumeOutputProcessing();
- ctx.setOutput(objOutput);
- if (visitOutput)
- {
- visitor.visit(objOutput, parent, ctx);
- if (!ctx.processOutput())
- return;
- }
- if (objOutput == null)
- return;
- if (traverseOutput2Element)
- {
- traverse(objOutput.getDocumentationElement(), objOutput, ctx);
- if (!ctx.processOutput())
- return;
- }
- if (traverseOutput2Message)
- traverse(objOutput.getMessage(), objOutput, ctx);
- }
-
- /**
- * The method traverses given WSDL binding fault artifact according to the
- * settings in the traversal context.
- *
- * @param objBindingFault a WSDL binding fault artifact.
- * @param parent parent of the WSDL binding fault artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- BindingFault objBindingFault,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.resumeBindingFaultProcessing();
- ctx.setBindingFault(objBindingFault);
- if (visitBindingFault)
- {
- visitor.visit(objBindingFault, parent, ctx);
- if (!ctx.processBindingFault())
- return;
- }
- if (objBindingFault == null)
- return;
- if (traverseBindingFault2Element)
- {
- traverse(objBindingFault.getDocumentationElement(), objBindingFault, ctx);
- if (!ctx.processBindingFault())
- return;
- }
- if (traverseBindingFault2SOAPFault
- && objBindingFault.getExtensibilityElements() != null)
- {
- Iterator it = objBindingFault.getExtensibilityElements().iterator();
- while (it.hasNext())
- {
- Object o = it.next();
- if (o instanceof SOAPFault)
- traverse((SOAPFault) o, objBindingFault, ctx);
- if (!ctx.processBindingFault())
- return;
- }
- }
- if (traverseBindingFault2ExtensibilityElement
- && objBindingFault.getExtensibilityElements() != null)
- {
- Iterator it = objBindingFault.getExtensibilityElements().iterator();
- while (it.hasNext())
- {
- traverse((ExtensibilityElement) it.next(), objBindingFault, ctx);
- if (!ctx.processBindingFault())
- return;
- }
- }
- }
-
- /**
- * The method traverses given WSDL SOAP operation artifact according to
- * the settings in the traversal context.
- *
- * @param objSOAPOperation a WSDL SOAP operation artifact.
- * @param parent parent of the WSDL SOAP operation artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- SOAPOperation objSOAPOperation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.setSOAPOperation(objSOAPOperation);
- if (visitSOAPOperation)
- visitor.visit(objSOAPOperation, parent, ctx);
- }
-
- /**
- * The method traverses given WSDL binding input artifact according to
- * the settings in the traversal context.
- *
- * @param objBindingInput a WSDL binding input artifact.
- * @param parent parent of the WSDL binding input artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- BindingInput objBindingInput,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.resumeBindingInputProcessing();
- ctx.setBindingInput(objBindingInput);
- if (visitBindingInput)
- {
- visitor.visit(objBindingInput, parent, ctx);
- if (!ctx.processBindingInput())
- return;
- }
- if (objBindingInput == null)
- return;
- if (traverseBindingInput2Element)
- {
- traverse(objBindingInput.getDocumentationElement(), objBindingInput, ctx);
- if (!ctx.processBindingInput())
- return;
- }
- if ((traverseBindingInput2SOAPBody || traverseBindingInput2SOAPHeader)
- && objBindingInput.getExtensibilityElements() != null)
- {
- Iterator it = objBindingInput.getExtensibilityElements().iterator();
- while (it.hasNext())
- {
- Object o = it.next();
- if (traverseBindingInput2SOAPBody && (o instanceof SOAPBody))
- traverse((SOAPBody) o, objBindingInput, ctx);
- else if (traverseBindingInput2SOAPHeader && (o instanceof SOAPHeader))
- traverse((SOAPHeader) o, objBindingInput, ctx);
- if (!ctx.processBindingInput())
- return;
- }
- }
- if (traverseBindingInput2ExtensibilityElement
- && objBindingInput.getExtensibilityElements() != null)
- {
- Iterator it = objBindingInput.getExtensibilityElements().iterator();
- while (it.hasNext())
- {
- traverse((ExtensibilityElement) it.next(), objBindingInput, ctx);
- if (!ctx.processBindingInput())
- return;
- }
- }
- }
-
- /**
- * The method traverses given WSDL binding operation artifact according to
- * the settings in the traversal context.
- *
- * @param objBindingOperation a WSDL binding operation artifact.
- * @param parent parent of the WSDL binding operation artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- BindingOperation objBindingOperation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.resumeBindingOperationProcessing();
- ctx.setBindingOperation(objBindingOperation);
- if (visitBindingOperation)
- {
- visitor.visit(objBindingOperation, parent, ctx);
- if (!ctx.processBindingOperation())
- return;
- }
- if (objBindingOperation == null)
- return;
- if (traverseBindingOperation2Element)
- {
- traverse(
- objBindingOperation.getDocumentationElement(),
- objBindingOperation,
- ctx);
- if (!ctx.processBindingOperation())
- return;
- }
- if (traverseBindingOperation2SOAPOperation
- && objBindingOperation.getExtensibilityElements() != null)
- {
- Iterator it = objBindingOperation.getExtensibilityElements().iterator();
- while (it.hasNext())
- {
- Object o = it.next();
- if (o instanceof SOAPOperation)
- traverse((SOAPOperation) o, objBindingOperation, ctx);
- if (!ctx.processBindingOperation())
- return;
- }
- }
- if (traverseBindingOperation2ExtensibilityElement
- && objBindingOperation.getExtensibilityElements() != null)
- {
- Iterator it = objBindingOperation.getExtensibilityElements().iterator();
- while (it.hasNext())
- {
- traverse((ExtensibilityElement) it.next(), objBindingOperation, ctx);
- if (!ctx.processBindingOperation())
- return;
- }
- }
- if (traverseBindingOperation2Operation)
- {
- traverse(objBindingOperation.getOperation(), objBindingOperation, ctx);
- if (!ctx.processBindingOperation())
- return;
- }
- if (traverseBindingOperation2BindingInput)
- {
- traverse(objBindingOperation.getBindingInput(), objBindingOperation, ctx);
- if (!ctx.processBindingOperation())
- return;
- }
- if (traverseBindingOperation2BindingOutput)
- {
- traverse(
- objBindingOperation.getBindingOutput(),
- objBindingOperation,
- ctx);
- if (!ctx.processBindingOperation())
- return;
- }
- if (traverseBindingOperation2BindingFault
- && objBindingOperation.getBindingFaults() != null)
- {
- Iterator it = objBindingOperation.getBindingFaults().values().iterator();
- while (it.hasNext())
- {
- traverse((BindingFault) it.next(), objBindingOperation, ctx);
- if (!ctx.processBindingOperation())
- return;
- }
- }
- }
-
- /**
- * The method traverses given WSDL SOAP fault artifact according to the
- * settings in the traversal context.
- *
- * @param objSOAPFault a WSDL SOAP fault artifact.
- * @param parent parent of the WSDL SOAP fault artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- SOAPFault objSOAPFault,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.setSOAPFault(objSOAPFault);
- if (visitSOAPFault)
- visitor.visit(objSOAPFault, parent, ctx);
- }
-
- /**
- * The method traverses given WSDL binding artifact according to the settings in
- * the traversal context.
- *
- * @param objBinding a WSDL binding artifact.
- * @param parent parent of the WSDL binding artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- Binding objBinding,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.resumeBindingProcessing();
- ctx.setBinding(objBinding);
- if (visitBinding)
- {
- visitor.visit(objBinding, parent, ctx);
- if (!ctx.processBinding())
- return;
- }
- if (objBinding == null)
- return;
- if (traverseBinding2Element)
- {
- traverse(objBinding.getDocumentationElement(), objBinding, ctx);
- if (!ctx.processBinding())
- return;
- }
- if (traverseBinding2SOAPBinding
- && objBinding.getExtensibilityElements() != null)
- {
- Iterator it = objBinding.getExtensibilityElements().iterator();
- while (it.hasNext())
- {
- Object o = it.next();
- if (o instanceof SOAPBinding)
- traverse((SOAPBinding) o, objBinding, ctx);
- if (!ctx.processBinding())
- return;
- }
- }
- if (traverseBinding2PortType)
- {
- traverse(objBinding.getPortType(), objBinding, ctx);
- if (!ctx.processBinding())
- return;
- }
- if (traverseBinding2BindingOperation
- && objBinding.getBindingOperations() != null)
- {
- Iterator it = objBinding.getBindingOperations().iterator();
- while (it.hasNext())
- {
- traverse((BindingOperation) it.next(), objBinding, ctx);
- if (!ctx.processBinding())
- return;
- }
- }
- if (traverseBinding2ExtensibilityElement
- && objBinding.getExtensibilityElements() != null)
- {
- Iterator it = objBinding.getExtensibilityElements().iterator();
- while (it.hasNext())
- {
- traverse((ExtensibilityElement) it.next(), objBinding, ctx);
- if (!ctx.processBinding())
- return;
- }
- }
- }
-
- /**
- * The method traverses given WSDL fault artifact according to the settings in
- * the traversal context.
- *
- * @param objFault a WSDL fault artifact.
- * @param parent parent of the WSDL fault artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- Fault objFault,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.resumeFaultProcessing();
- ctx.setFault(objFault);
- if (visitFault)
- {
- visitor.visit(objFault, parent, ctx);
- if (!ctx.processFault())
- return;
- }
- if (objFault == null)
- return;
- if (traverseFault2Element)
- {
- traverse(objFault.getDocumentationElement(), objFault, ctx);
- if (!ctx.processFault())
- return;
- }
- if (traverseFault2Message)
- traverse(objFault.getMessage(), objFault, ctx);
- }
-
- /**
- * The method traverses given WSDL service artifact according to the settings in
- * the traversal context.
- *
- * @param objService a WSDL service artifact.
- * @param parent parent of the WSDL service artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- Service objService,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.resumeServiceProcessing();
- ctx.setService(objService);
- if (visitService)
- {
- visitor.visit(objService, parent, ctx);
- if (!ctx.processService())
- return;
- }
- if (objService == null)
- return;
- if (traverseService2Element)
- {
- traverse(objService.getDocumentationElement(), objService, ctx);
- if (!ctx.processService())
- return;
- }
- if (traverseService2ExtensibilityElement
- && objService.getExtensibilityElements() != null)
- {
- Iterator it = objService.getExtensibilityElements().iterator();
- while (it.hasNext())
- {
- traverse((ExtensibilityElement) it.next(), objService, ctx);
- if (!ctx.processService())
- return;
- }
- }
- if (traverseService2Port && objService.getPorts() != null)
- {
- Iterator it = objService.getPorts().values().iterator();
- while (it.hasNext())
- {
- traverse((Port) it.next(), objService, ctx);
- if (!ctx.processService())
- return;
- }
- }
- }
-
- /**
- * The method traverses given WSDL import artifact according to the settings in
- * the traversal context.
- *
- * @param objImport a WSDL import artifact.
- * @param parent parent of the WSDL import artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- Import objImport,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.resumeImportProcessing();
- ctx.setImport(objImport);
- if (visitImport)
- {
- visitor.visit(objImport, parent, ctx);
- if (!ctx.processImport())
- return;
- }
- if (objImport == null)
- return;
- if (traverseImport2Element)
- {
- traverse(objImport.getDocumentationElement(), objImport, ctx);
- if (!ctx.processImport())
- return;
- }
- if (traverseImport2Definition)
- traverse(objImport.getDefinition(), objImport, ctx);
- }
-
- /**
- * The method traverses given WSDL binding output artifact according to the
- * settings in the traversal context.
- *
- * @param objBindingOutput a WSDL binding output artifact.
- * @param parent parent of the WSDL binding output artifact.
- * @param ctx the traversal contex.
- */
- private void traverse(
- BindingOutput objBindingOutput,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.resumeBindingOutputProcessing();
- ctx.setBindingOutput(objBindingOutput);
- if (visitBindingOutput)
- {
- visitor.visit(objBindingOutput, parent, ctx);
- if (!ctx.processBindingOutput())
- return;
- }
- if (objBindingOutput == null)
- return;
- if (traverseBindingOutput2Element)
- {
- traverse(
- objBindingOutput.getDocumentationElement(),
- objBindingOutput,
- ctx);
- if (!ctx.processBindingOutput())
- return;
- }
- if ((traverseBindingOutput2SOAPBody || traverseBindingOutput2SOAPHeader)
- && objBindingOutput.getExtensibilityElements() != null)
- {
- Iterator it = objBindingOutput.getExtensibilityElements().iterator();
- while (it.hasNext())
- {
- Object o = it.next();
- if (traverseBindingOutput2SOAPBody && (o instanceof SOAPBody))
- traverse((SOAPBody) o, objBindingOutput, ctx);
- else if (traverseBindingOutput2SOAPHeader && (o instanceof SOAPHeader))
- traverse((SOAPHeader) o, objBindingOutput, ctx);
- if (!ctx.processBindingOutput())
- return;
- }
- }
- if (traverseBindingOutput2ExtensibilityElement
- && objBindingOutput.getExtensibilityElements() != null)
- {
- Iterator it = objBindingOutput.getExtensibilityElements().iterator();
- while (it.hasNext())
- {
- traverse((ExtensibilityElement) it.next(), objBindingOutput, ctx);
- if (!ctx.processBindingOutput())
- return;
- }
- }
- }
-
- /**
- * The method traverses given WSDL port type artifact according to the settings in
- * the traversal context.
- *
- * @param objPortType a WSDL port type artifact.
- * @param parent parent of the WSDL port type.
- * @param ctx the traversal contex.
- */
- private void traverse(
- PortType objPortType,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.resumePortTypeProcessing();
- ctx.setPortType(objPortType);
- if (visitPortType)
- {
- visitor.visit(objPortType, parent, ctx);
- if (!ctx.processPortType())
- return;
- }
- if (objPortType == null)
- return;
- if (traversePortType2Element)
- {
- traverse(objPortType.getDocumentationElement(), objPortType, ctx);
- if (!ctx.processPortType())
- return;
- }
- if (traversePortType2Operation && objPortType.getOperations() != null)
- {
- Iterator it = objPortType.getOperations().iterator();
- while (it.hasNext())
- {
- traverse((Operation) it.next(), objPortType, ctx);
- if (!ctx.processPortType())
- return;
- }
- }
- }
-
- /**
- * The method traverses given WSDL message artifact according to the settings in
- * the traversal context.
- *
- * @param objMessage a WSDL message.
- * @param parent parent of the WSDL message.
- * @param ctx the traversal contex.
- */
- private void traverse(
- Message objMessage,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.resumeMessageProcessing();
- ctx.setMessage(objMessage);
- if (visitMessage)
- {
- visitor.visit(objMessage, parent, ctx);
- if (!ctx.processMessage())
- return;
- }
- if (objMessage == null)
- return;
- if (traverseMessage2Element)
- {
- traverse(objMessage.getDocumentationElement(), objMessage, ctx);
- if (!ctx.processMessage())
- return;
- }
- if (traverseMessage2Part && objMessage.getParts() != null)
- {
- Iterator it = objMessage.getParts().values().iterator();
- while (it.hasNext())
- {
- traverse((Part) it.next(), objMessage, ctx);
- if (!ctx.processMessage())
- return;
- }
- }
- }
-
- /**
- * The method traverses given WSDL part artifact according to the settings.
- * @param a a WSDL part artifact.
- */
- public void traverse(Part a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL service artifact according to the settings.
- * @param a a WSDL service artifact.
- */
- public void traverse(Service a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL types artifact according to the settings.
- * @param a WSDL types artifact.
- */
- public void traverse(Types a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL operation artifact according to the settings.
- * @param a a WSDL operation artifact.
- */
- public void traverse(Operation a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL input artifact according to the settings.
- * @param a a WSDL input artifact.
- */
- public void traverse(Input a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL output artifact according to the settings.
- * @param a a WSDL output artifact.
- */
- public void traverse(Output a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL fault artifact according to the settings.
- * @param a a WSDL fault artifact.
- */
- public void traverse(Fault a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL binding artifact according to the settings.
- * @param a a WSDL binding artifact.
- */
- public void traverse(Binding a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL binding operation artifact according to the
- * settings.
- * @param a a WSDL binding operation artifact.
- */
- public void traverse(BindingOperation a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL binding input artifact according to
- * the settings.
- * @param a a WSDL binding input artifact.
- */
- public void traverse(BindingInput a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL binding output artifact according to
- * the settings.
- * @param a a WSDL binding output artifact.
- */
- public void traverse(BindingOutput a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL binding fault artifact according to
- * the settings.
- * @param a a WSDL binding fault artifact.
- */
- public void traverse(BindingFault a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL import artifact according to the settings.
- * @param a a WSDL import artifact.
- */
- public void traverse(Import a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL element artifact according to the settings.
- * @param a a WSDL element artifact.
- */
- public void traverse(Element a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL message artifact according to the settings.
- * @param a a WSDL message artifact.
- */
- public void traverse(Message a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL port artifact according to the settings.
- * @param a a WSDL port artifact.
- */
- public void traverse(Port a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL port type artifact according to the settings.
- * @param a a WSDL port type artifact.
- */
- public void traverse(PortType a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL definition artifact according to the settings.
- * @param a a WSDL definition artifact.
- */
- public void traverse(Definition a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL extensibility elment artifact according
- * to the settings.
- * @param a a WSDL extensibility element artifact.
- */
- public void traverse(ExtensibilityElement a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL SOAP binding artifact according to
- * the settings.
- * @param a a WSDL SOAP binding artifact.
- */
- public void traverse(SOAPBinding a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL SOAP body artifact according to the settings.
- * @param a a WSDL SOAP body artifact.
- */
- public void traverse(SOAPBody a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL SOAP header artifact according to the settings.
- * @param a a WSDL SOAP header artifact.
- */
- public void traverse(SOAPHeader a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL SOAP header fault artifact according to
- * the settings.
- * @param a a WSDL SOAP header fault artifact.
- */
- public void traverse(SOAPHeaderFault a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL SOAP fault artifact according to the settings.
- * @param a a WSDL SOAP fault artifact.
- */
- public void traverse(SOAPFault a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
- /**
- * The method traverses given WSDL SOAP operation artifact according to
- * the settings.
- * @param a a WSDL SOAP operation artifact.
- */
- public void traverse(SOAPOperation a)
- {
- adjust();
- traverse(a, null, new WSDLTraversalContext(this));
- }
-
- /**
- * The method traverses given WSDL part artifact according to the settings.
- * @param a a WSDL part artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(Part a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL service artifact according to the settings.
- * @param a a WSDL service artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(Service a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL types artifact according to the settings.
- * @param a a WSDL types artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(Types a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL operation artifact according to the settings.
- * @param a a WSDL operation artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(Operation a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL input artifact according to the settings.
- * @param a a WSDL input artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(Input a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL output artifact according to the settings.
- * @param a a WSDL output artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(Output a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL fault artifact according to the settings.
- * @param a a WSDL fault artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(Fault a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL binding artifact according to the settings.
- * @param a a WSDL binding artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(Binding a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL binding operation artifact according
- * to the settings.
- * @param a a WSDL binding operation artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(BindingOperation a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL binding input artifact according
- * to the settings.
- * @param a a WSDL binding input artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(BindingInput a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL binding output artifact according to
- * the settings.
- * @param a a WSDL binding output artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(BindingOutput a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL binding fault artifact according to
- * the settings.
- * @param a a WSDL binding fault artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(BindingFault a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL import artifact according to the settings.
- * @param a a WSDL import artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(Import a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL element artifact according to the settings.
- * @param a a WSDL element artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(Element a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL message artifact according to the settings.
- * @param a a WSDL message.
- * @param params a Map object representing settings.
- */
- public void traverse(Message a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL port artifact according to the settings.
- * @param a a WSDL port.
- * @param params a Map object representing settings.
- */
- public void traverse(Port a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL port type artifact according to the settings.
- * @param a a WSDL port type artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(PortType a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL definition artifact according to the settings.
- * @param a a WSDL definition artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(Definition a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL extensibility element artifact according to the settings.
- * @param a a WSDL extensibility element artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(ExtensibilityElement a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL SOAP binding artifact according to the settings.
- * @param a a WSDL SOAP binding artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(SOAPBinding a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL SOAP body artifact according to the settings.
- * @param a a WSDL SOAP body artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(SOAPBody a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL SOAP header artifact according to the settings.
- * @param a a WSDL SOAP header artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(SOAPHeader a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL hearder fault artifact according to the settings.
- * @param a a WSDL SOAP header fault artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(SOAPHeaderFault a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL SOAP fault artifact according to the settings.
- * @param a a WSDL SOAP fault artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(SOAPFault a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
- /**
- * The method traverses given WSDL SOAP operation artifact according to the settings.
- * @param a a WSDL SOAP operation artifact.
- * @param params a Map object representing settings.
- */
- public void traverse(SOAPOperation a, Map params)
- {
- adjust();
- WSDLTraversalContext ctx = new WSDLTraversalContext(this);
- if (params != null)
- ctx.params.putAll(params);
- traverse(a, null, ctx);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLTraversalContext.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLTraversalContext.java
deleted file mode 100644
index cd4dbe78f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLTraversalContext.java
+++ /dev/null
@@ -1,1126 +0,0 @@
-/*******************************************************************************
- * 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.wsdl.traversal;
-
-import java.util.Map;
-import java.util.TreeMap;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.w3c.dom.Element;
-
-/**
- * The class represents runtime context for the traversal process.
- * Context stores artifacts being processed.
- *
- * @author Andrey Kulik
- */
-public class WSDLTraversalContext
-{
- /**
- * Flags which indicate whether corresponding WSDL element should be processed
- * or not.
- */
- private boolean processPart = true;
- private boolean processService = true;
- private boolean processTypes = true;
- private boolean processOperation = true;
- private boolean processInput = true;
- private boolean processOutput = true;
- private boolean processFault = true;
- private boolean processBinding = true;
- private boolean processBindingOperation = true;
- private boolean processBindingInput = true;
- private boolean processBindingOutput = true;
- private boolean processBindingFault = true;
- private boolean processImport = true;
- private boolean processElement = true;
- private boolean processMessage = true;
- private boolean processPort = true;
- private boolean processPortType = true;
- private boolean processDefinition = true;
- private boolean processExtensibilityElement = true;
- private boolean processSOAPBinding = true;
- private boolean processSOAPHeader = true;
- private boolean processSOAPHeaderFault = true;
- private boolean processSOAPFault = true;
- private boolean processSOAPOperation = true;
-
- /**
- * Last processed WSDL elements.
- */
- private Part activePart = null;
- private Service activeService = null;
- private Types activeTypes = null;
- private Operation activeOperation = null;
- private Input activeInput = null;
- private Output activeOutput = null;
- private Fault activeFault = null;
- private Binding activeBinding = null;
- private BindingOperation activeBindingOperation = null;
- private BindingInput activeBindingInput = null;
- private BindingOutput activeBindingOutput = null;
- private BindingFault activeBindingFault = null;
- private Import activeImport = null;
- private Element activeElement = null;
- private Message activeMessage = null;
- private Port activePort = null;
- private PortType activePortType = null;
- private Definition activeDefinition = null;
- private ExtensibilityElement activeExtensibilityElement = null;
- private SOAPBinding activeSOAPBinding = null;
- private SOAPBody activeSOAPBody = null;
- private SOAPHeader activeSOAPHeader = null;
- private SOAPHeaderFault activeSOAPHeaderFault = null;
- private SOAPFault activeSOAPFault = null;
- private SOAPOperation activeSOAPOperation = null;
-
- /**
- * Parameters map
- */
- Map params = new TreeMap();
-
- /**
- * Active traversal.
- */
- final private WSDLTraversal traversal;
-
- /**
- * The default constructor.
- * @param traversal
- */
- WSDLTraversalContext(WSDLTraversal traversal)
- {
- this.traversal = traversal;
- }
-
- /**
- * Gets the active traversal.
- * @return tha active traversal.
- */
- public WSDLTraversal getTraversal()
- {
- return traversal;
- }
-
- /**
- * Gets parameter from context by the given key.
- * @param key a key value.
- * @return a parameter corresponding to the given key.
- */
- public Object getParameter(Object key)
- {
- return params.get(key);
- }
-
- /**
- * Adds parameter into context with the given key.
- * @param key the key.
- * @param value the value.
- */
- public void addParameter(Object key, Object value)
- {
- params.put(key, value);
- }
-
- /**
- * Removes the parameter from context by the given key.
- * @param key a key value.
- */
- public void removeParameter(Object key)
- {
- params.remove(key);
- }
-
- /**
- * Cancels processing of the corresponding WSDL part.
- */
- public void cancelPartProcessing()
- {
- processPart = false;
- }
- /**
- * Cancels processing of the corresponding WSDL service.
- */
- public void cancelServiceProcessing()
- {
- processService = false;
- }
- /**
- * Cancels processing of the corresponding WSDL types.
- */
- public void cancelTypesProcessing()
- {
- processTypes = false;
- }
- /**
- * Cancels processing of the corresponding WSDL operation.
- */
- public void cancelOperationProcessing()
- {
- processOperation = false;
- }
- /**
- * Cancels processing of the corresponding WSDL input.
- */
- public void cancelInputProcessing()
- {
- processInput = false;
- }
- /**
- * Cancels processing of the corresponding WSDL output.
- */
- public void cancelOutputProcessing()
- {
- processOutput = false;
- }
- /**
- * Cancels processing of the corresponding WSDL fault.
- */
- public void cancelFaultProcessing()
- {
- processFault = false;
- }
- /**
- * Cancels processing of the corresponding WSDL binding.
- */
- public void cancelBindingProcessing()
- {
- processBinding = false;
- }
- /**
- * Cancels processing of the corresponding WSDL binding operation.
- */
- public void cancelBindingOperationProcessing()
- {
- processBindingOperation = false;
- }
- /**
- * Cancels processing of the corresponding WSDL binding input.
- */
- public void cancelBindingInputProcessing()
- {
- processBindingInput = false;
- }
- /**
- * Cancels processing of the corresponding WSDL binding output.
- */
- public void cancelBindingOutputProcessing()
- {
- processBindingOutput = false;
- }
- /**
- * Cancels processing of the corresponding WSDL binding fault.
- */
- public void cancelBindingFaultProcessing()
- {
- processBindingFault = false;
- }
- /**
- * Cancels processing of the corresponding WSDL import.
- */
- public void cancelImportProcessing()
- {
- processImport = false;
- }
- /**
- * Cancels processing of the corresponding WSDL element.
- */
- public void cancelElementProcessing()
- {
- processElement = false;
- }
- /**
- * Cancels processing of the corresponding WSDL message.
- */
- public void cancelMessageProcessing()
- {
- processMessage = false;
- }
- /**
- * Cancels processing of the corresponding WSDL port.
- */
- public void cancelPortProcessing()
- {
- processPort = false;
- }
- /**
- * Cancels processing of the corresponding WSDL port type.
- */
- public void cancelPortTypeProcessing()
- {
- processPortType = false;
- }
- /**
- * Cancels processing of the corresponding WSDL definition.
- */
- public void cancelDefinitionProcessing()
- {
- processDefinition = false;
- }
- /**
- * Cancels processing of the corresponding WSDL extensibility element.
- */
- public void cancelExtensibilityElementProcessing()
- {
- processExtensibilityElement = false;
- }
- /**
- * Cancels processing of the corresponding WSDL SOAP binding.
- */
- public void cancelSOAPBindingProcessing()
- {
- processSOAPBinding = false;
- }
- /**
- * Cancels processing of the corresponding WSDL SOAP header.
- */
- public void cancelSOAPHeaderProcessing()
- {
- processSOAPHeader = false;
- }
- /**
- * Cancels processing of the corresponding WSDL SOAP header fault.
- */
- public void cancelSOAPHeaderFaultProcessing()
- {
- processSOAPHeaderFault = false;
- }
- /**
- * Cancels processing of the corresponding WSDL SOAP fault.
- */
- public void cancelSOAPFaultProcessing()
- {
- processSOAPFault = false;
- }
- /**
- * Cancels processing of the corresponding WSDL operation.
- */
- public void cancelSOAPOperationProcessing()
- {
- processSOAPOperation = false;
- }
-
- /**
- * Cancels WSDL elements processing.
- */
- public void cancelProcessing()
- {
- cancelPartProcessing();
- cancelServiceProcessing();
- cancelTypesProcessing();
- cancelOperationProcessing();
- cancelInputProcessing();
- cancelOutputProcessing();
- cancelFaultProcessing();
- cancelBindingProcessing();
- cancelBindingOperationProcessing();
- cancelBindingInputProcessing();
- cancelBindingOutputProcessing();
- cancelBindingFaultProcessing();
- cancelImportProcessing();
- cancelElementProcessing();
- cancelMessageProcessing();
- cancelPortProcessing();
- cancelPortTypeProcessing();
- cancelDefinitionProcessing();
- cancelExtensibilityElementProcessing();
- cancelSOAPBindingProcessing();
- cancelSOAPHeaderProcessing();
- cancelSOAPHeaderFaultProcessing();
- cancelSOAPFaultProcessing();
- cancelSOAPOperationProcessing();
- }
-
- /**
- * Resumes processing of the corresponding WSDL part.
- */
- public void resumePartProcessing()
- {
- processPart = true;
- }
- /**
- * Resumes processing of the corresponding WSDL service.
- */
- public void resumeServiceProcessing()
- {
- processService = true;
- }
- /**
- * Resumes processing of the corresponding WSDL types.
- */
- public void resumeTypesProcessing()
- {
- processTypes = true;
- }
- /**
- * Resumes processing of the corresponding WSDL operation.
- */
- public void resumeOperationProcessing()
- {
- processOperation = true;
- }
- /**
- * Resumes processing of the corresponding WSDL input.
- */
- public void resumeInputProcessing()
- {
- processInput = true;
- }
- /**
- * Resumes processing of the corresponding WSDL output.
- */
- public void resumeOutputProcessing()
- {
- processOutput = true;
- }
- /**
- * Resumes processing of the corresponding WSDL fault.
- */
- public void resumeFaultProcessing()
- {
- processFault = true;
- }
- /**
- * Resumes processing of the corresponding WSDL binding.
- */
- public void resumeBindingProcessing()
- {
- processBinding = true;
- }
- /**
- * Resumes processing of the corresponding WSDL binding operation.
- */
- public void resumeBindingOperationProcessing()
- {
- processBindingOperation = true;
- }
- /**
- * Resumes processing of the corresponding WSDL binding input.
- */
- public void resumeBindingInputProcessing()
- {
- processBindingInput = true;
- }
- /**
- * Resumes processing of the corresponding WSDL binding output.
- */
- public void resumeBindingOutputProcessing()
- {
- processBindingOutput = true;
- }
- /**
- * Resumes processing of the corresponding WSDL binding fault.
- */
- public void resumeBindingFaultProcessing()
- {
- processBindingFault = true;
- }
- /**
- * Resumes processing of the corresponding WSDL import.
- */
- public void resumeImportProcessing()
- {
- processImport = true;
- }
- /**
- * Resumes processing of the corresponding WSDL element.
- */
- public void resumeElementProcessing()
- {
- processElement = true;
- }
- /**
- * Resumes processing of the corresponding WSDL message.
- */
- public void resumeMessageProcessing()
- {
- processMessage = true;
- }
- /**
- * Resumes processing of the corresponding WSDL port.
- */
- public void resumePortProcessing()
- {
- processPort = true;
- }
- /**
- * Resumes processing of the corresponding WSDL port type.
- */
- public void resumePortTypeProcessing()
- {
- processPortType = true;
- }
- /**
- * Resumes processing of the corresponding WSDL definition.
- */
- public void resumeDefinitionProcessing()
- {
- processDefinition = true;
- }
- /**
- * Resumes processing of the corresponding WSDL extensibility element.
- */
- public void resumeExtensibilityElementProcessing()
- {
- processExtensibilityElement = true;
- }
- /**
- * Resumes processing of the corresponding WSDL SOAP binding.
- */
- public void resumeSOAPBindingProcessing()
- {
- processSOAPBinding = true;
- }
- /**
- * Resumes processing of the corresponding WSDL SOAP header.
- */
- public void resumeSOAPHeaderProcessing()
- {
- processSOAPHeader = true;
- }
- /**
- * Resumes processing of the corresponding WSDL SOAP header fault.
- */
- public void resumeSOAPHeaderFaultProcessing()
- {
- processSOAPHeaderFault = true;
- }
- /**
- * Resumes processing of the corresponding WSDL SOAP fault.
- */
- public void resumeSOAPFaultProcessing()
- {
- processSOAPFault = true;
- }
- /**
- * Resumes processing of the corresponding WSDL SOAP operation.
- */
- public void resumeSOAPOperationProcessing()
- {
- processSOAPOperation = true;
- }
- /**
- * Indicates whether the corresponding WSDL part should be processed.
- * @return true if the corresponding WSDL part should be processed.
- */
- public boolean processPart()
- {
- return processPart;
- }
- /**
- * Indicates whether the corresponding WSDL service should be processed.
- * @return true if the corresponding WSDL service should be processed.
- */
- public boolean processService()
- {
- return processService;
- }
- /**
- * Indicates whether the corresponding WSDL types should be processed.
- * @return true if the corresponding WSDL types should be processed.
- */
- public boolean processTypes()
- {
- return processTypes;
- }
- /**
- * Indicates whether the corresponding WSDL operation should be processed.
- * @return true if the corresponding WSDL operation should be processed.
- */
- public boolean processOperation()
- {
- return processOperation;
- }
- /**
- * Indicates whether the corresponding WSDL input should be processed.
- * @return true if the corresponding WSDL input should be processed.
- */
- public boolean processInput()
- {
- return processInput;
- }
- /**
- * Indicates whether the corresponding WSDL output should be processed.
- * @return true if the corresponding WSDL output should be processed.
- */
- public boolean processOutput()
- {
- return processOutput;
- }
- /**
- * Indicates whether the corresponding WSDL fault should be processed.
- * @return true if the corresponding WSDL fault should be processed.
- */
- public boolean processFault()
- {
- return processFault;
- }
- /**
- * Indicates whether the corresponding WSDL binding should be processed.
- * @return true if the corresponding WSDL binding should be processed.
- */
- public boolean processBinding()
- {
- return processBinding;
- }
- /**
- * Indicates whether the corresponding WSDL binding operation should be processed.
- * @return true if the corresponding WSDL binding operation should be processed.
- */
- public boolean processBindingOperation()
- {
- return processBindingOperation;
- }
- /**
- * Indicates whether the corresponding WSDL binding input should be processed.
- * @return true if the corresponding WSDL binding input should be processed.
- */
- public boolean processBindingInput()
- {
- return processBindingInput;
- }
- /**
- * Indicates whether the corresponding WSDL binding output should be processed.
- * @return true if the corresponding WSDL binding output should be processed.
- */
- public boolean processBindingOutput()
- {
- return processBindingOutput;
- }
- /**
- * Indicates whether the corresponding WSDL binding fault should be processed.
- * @return true if the corresponding WSDL binding fault should be processed.
- */
- public boolean processBindingFault()
- {
- return processBindingFault;
- }
- /**
- * Indicates whether the corresponding WSDL import should be processed.
- * @return true if the corresponding WSDL import should be processed.
- */
- public boolean processImport()
- {
- return processImport;
- }
- /**
- * Indicates whether the corresponding WSDL element should be processed.
- * @return true if the corresponding WSDL element should be processed.
- */
- public boolean processElement()
- {
- return processElement;
- }
- /**
- * Indicates whether the corresponding WSDL message should be processed.
- * @return true if the corresponding WSDL message should be processed.
- */
- public boolean processMessage()
- {
- return processMessage;
- }
- /**
- * Indicates whether the corresponding WSDL port should be processed.
- * @return true if the corresponding WSDL port should be processed.
- */
- public boolean processPort()
- {
- return processPort;
- }
- /**
- * Indicates whether the corresponding WSDL port type should be processed.
- * @return true if the corresponding WSDL port type should be processed.
- */
- public boolean processPortType()
- {
- return processPortType;
- }
- /**
- * Indicates whether the corresponding WSDL definition should be processed.
- * @return true if the corresponding WSDL definition should be processed.
- */
- public boolean processDefinition()
- {
- return processDefinition;
- }
- /**
- * Indicates whether the corresponding WSDL extensibility element should be processed.
- * @return true if the corresponding WSDL extensibility element should be processed.
- */
- public boolean processExtensibilityElement()
- {
- return processExtensibilityElement;
- }
- /**
- * Indicates whether the corresponding WSDL SOAP binding should be processed.
- * @return true if the corresponding WSDL SOAP binding should be processed.
- */
- public boolean processSOAPBinding()
- {
- return processSOAPBinding;
- }
- /**
- * Indicates whether the corresponding WSDL SOAP header should be processed.
- * @return true if the corresponding WSDL SOAP header should be processed.n
- */
- public boolean processSOAPHeader()
- {
- return processSOAPHeader;
- }
- /**
- * Indicates whether the corresponding WSDL SOAP header fault should be processed.
- * @return true if the corresponding WSDL SOA header fault should be processed.
- */
- public boolean processSOAPHeaderFault()
- {
- return processSOAPHeaderFault;
- }
- /**
- * Indicates whether the corresponding WSDL SOAP fault should be processed.
- * @return true if the corresponding WSDL SOAP fault should be processed.
- */
- public boolean processSOAPFault()
- {
- return processSOAPFault;
- }
- /**
- * Indicates whether the corresponding WSDL operation should be processed.
- * @return true if the corresponding WSDL operation should be processed.
- */
- public boolean processSOAPOperation()
- {
- return processSOAPOperation;
- }
- /**
- * Sets WSDL part to be processed.
- * @param value the WSDL part to be processed.
- */
- void setPart(Part value)
- {
- activePart = value;
- }
- /**
- * Gets last processed WSDL part.
- * @return the last processed WSDL part.
- */
- public Part getPart()
- {
- return activePart;
- }
- /**
- * Sets WSDL service to be processed.
- * @param value the WSDL service to be processed.
- */
- void setService(Service value)
- {
- activeService = value;
- }
- /**
- * Gets last processed WSDL service.
- * @return the last processed WSDL service.
- */
- public Service getService()
- {
- return activeService;
- }
- /**
- * Sets WSDL types to be processed.
- * @param value the WSDL types to be processed.
- */
- void setTypes(Types value)
- {
- activeTypes = value;
- }
- /**
- * Gets last processed WSDL types.
- * @return the last processed WSDL types.
- */
- public Types getTypes()
- {
- return activeTypes;
- }
- /**
- * Sets WSDL operation to be processed.
- * @param value the WSDL operation to be processed.
- */
- void setOperation(Operation value)
- {
- activeOperation = value;
- }
- /**
- * Gets last processed WSDL operation.
- * @return the last processed WSDL operation.
- */
- public Operation getOperation()
- {
- return activeOperation;
- }
- /**
- * Sets WSDL input to be processed
- * @param the WSDL input to be processed.
- */
- void setInput(Input value)
- {
- activeInput = value;
- }
- /**
- * Gets last processed WSDL input.
- * @return last processed WSDL input.
- */
- public Input getInput()
- {
- return activeInput;
- }
- /**
- * Sets WSDL output to be processed.
- * @param value the WSDL output to be processed.
- */
- void setOutput(Output value)
- {
- activeOutput = value;
- }
- /**
- * Gets last processed WSDL output.
- * @return the last processed WSDL output.
- */
- public Output getOutput()
- {
- return activeOutput;
- }
- /**
- * Sets WSDL fault to be processed.
- * @param value the WSDL fault to be processed.
- */
- void setFault(Fault value)
- {
- activeFault = value;
- }
- /**
- * Gets last processed WSDL fault.
- * @return the last processed WSDL fault.
- */
- public Fault getFault()
- {
- return activeFault;
- }
- /**
- * Sets WSDL binding to be processed.
- * @param value the WSDL binding to be processed.
- */
- void setBinding(Binding value)
- {
- activeBinding = value;
- }
- /**
- * Gets last processed WSDL binding.
- * @return the last processed WSDL binding.
- */
- public Binding getBinding()
- {
- return activeBinding;
- }
- /**
- * Sets WSDL binding operation to be processed.
- * @param value the SDL binding operation to be processed.
- */
- void setBindingOperation(BindingOperation value)
- {
- activeBindingOperation = value;
- }
- /**
- * Gets last processed WSDL binding operation.
- * @return the last processed WSDL binding operation.
- */
- public BindingOperation getBindingOperation()
- {
- return activeBindingOperation;
- }
- /**
- * Sets WSDL binding input to be processed.
- * @param value the WSDL binding input to be processed.
- */
- void setBindingInput(BindingInput value)
- {
- activeBindingInput = value;
- }
- /**
- * Gets last processed WSDL binding input.
- * @return the last processed WSDL binding input.
- */
- public BindingInput getBindingInput()
- {
- return activeBindingInput;
- }
- /**
- * Sets WSDL binding output to be processed.
- * @param value the WSDL binding output to be processed.
- */
- void setBindingOutput(BindingOutput value)
- {
- activeBindingOutput = value;
- }
- /**
- * Gets last processed WSDL binding output.
- * @return the last processed WSDL binding output.
- */
- public BindingOutput getBindingOutput()
- {
- return activeBindingOutput;
- }
- /**
- * Sets WSDL binding fault to be processed.
- * @param value the WSDL binding fault to be processed.
- */
- void setBindingFault(BindingFault value)
- {
- activeBindingFault = value;
- }
- /**
- * Gets last processed WSDL binding fault.
- * @return the last processed WSDL binding fault.
- */
- public BindingFault getBindingFault()
- {
- return activeBindingFault;
- }
- /**
- * Sets WSDL import to be processed.
- * @param value the WSDL import to be processed.
- */
- void setImport(Import value)
- {
- activeImport = value;
- }
- /**
- * Gets last processed WSDL import.
- * @return the last processed WSDL import.
- */
- public Import getImport()
- {
- return activeImport;
- }
- /**
- * Sets WSDL element to be processed.
- * @param value the WSDL element to be processed.
- */
- void setElement(Element value)
- {
- activeElement = value;
- }
- /**
- * Gets last processed WSDL element.
- * @return the last processed WSDL element.
- */
- public Element getElement()
- {
- return activeElement;
- }
- /**
- * Sets WSDL message to be processed.
- * @param value the WSDL message to be processed.
- */
- void setMessage(Message value)
- {
- activeMessage = value;
- }
- /**
- * Gets last processed WSDL message.
- * @return the last processed WSDL message.
- */
- public Message getMessage()
- {
- return activeMessage;
- }
- /**
- * Sets WSDL port to be processed.
- * @param value the WSDL port to be processed.
- */
- void setPort(Port value)
- {
- activePort = value;
- }
- /**
- * Gets last processed WSDL port.
- * @return the last processed WSDL port.
- */
- public Port getPort()
- {
- return activePort;
- }
- /**
- * Sets WSDL port type to be processed.
- * @param value the WSDL port type to be processed.
- */
- void setPortType(PortType value)
- {
- activePortType = value;
- }
- /**
- * Gets last processed WSDL port type.
- * @return the last processed WSDL port type.
- */
- public PortType getPortType()
- {
- return activePortType;
- }
- /**
- * Sets WSDL definition to be processed.
- * @param value the WSDL definition to be processed.
- */
- void setDefinition(Definition value)
- {
- activeDefinition = value;
- }
- /**
- * Gets last processed WSDL definition.
- * @return the last processed WSDL definition.
- */
- public Definition getDefinition()
- {
- return activeDefinition;
- }
- /**
- * Sets WSDL extensibility element to be processed.
- * @param value the WSDL extensibility element to be processed.
- */
- void setExtensibilityElement(ExtensibilityElement value)
- {
- activeExtensibilityElement = value;
- }
- /**
- * Gets last processed WSDL extensibility element.
- * @return the last processed WSDL extensibility element.
- */
- public ExtensibilityElement getExtensibilityElement()
- {
- return activeExtensibilityElement;
- }
- /**
- * Sets WSDL element to be processed.
- * @param value the WSDL element to be processed.
- */
- void setSOAPBinding(SOAPBinding value)
- {
- activeSOAPBinding = value;
- }
- /**
- * Gets last processed WSDL SOAP binding.
- * @return the last processed WSDL SOAP binding.
- */
- public SOAPBinding getSOAPBinding()
- {
- return activeSOAPBinding;
- }
- /**
- * Sets WSDL element to be processed.
- * @param value WSDL element to be processed.
- */
- void setSOAPBody(SOAPBody value)
- {
- activeSOAPBody = value;
- }
- /**
- * Gets last processed WSDL SOAP body.
- * @return the last processed WSDL SOAP body.
- */
- public SOAPBody getSOAPBody()
- {
- return activeSOAPBody;
- }
- /**
- * Sets WSDL element to be processed.
- * @param value the WSDL element to be processed.
- */
- void setSOAPHeader(SOAPHeader value)
- {
- activeSOAPHeader = value;
- }
- /**
- * Gets last processed WSDL SOAP header.
- * @return the last processed WSDL SOAP header.
- */
- public SOAPHeader getSOAPHeader()
- {
- return activeSOAPHeader;
- }
- /**
- * Sets WSDL element to be processed.
- * @param value the WSDL element to be processed.
- */
- void setSOAPHeaderFault(SOAPHeaderFault value)
- {
- activeSOAPHeaderFault = value;
- }
- /**
- * Gets last processed WSDL SOAP header fault.
- * @return the last processed WSDL SOAP header fault.
- */
- public SOAPHeaderFault getSOAPHeaderFault()
- {
- return activeSOAPHeaderFault;
- }
- /**
- * Sets WSDL element to be processed.
- * @param value the WSDL element to be processed.
- */
- void setSOAPFault(SOAPFault value)
- {
- activeSOAPFault = value;
- }
- /**
- * Gets last processed WSDL SOAP fault.
- * @return the last processed WSDL SOAP fault.
- */
- public SOAPFault getSOAPFault()
- {
- return activeSOAPFault;
- }
- /**
- * Sets WSDL element to be processed.
- * @param value theWSDL element to be processed
- */
- void setSOAPOperation(SOAPOperation value)
- {
- activeSOAPOperation = value;
- }
- /**
- * Gets last processed WSDL SOAP operation.
- * @return the last processed WSDL SOAP operation.
- */
- public SOAPOperation getSOAPOperation()
- {
- return activeSOAPOperation;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLVisitor.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLVisitor.java
deleted file mode 100644
index ab95d7ad7..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLVisitor.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * 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.wsdl.traversal;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.w3c.dom.Element;
-
-/**
- * The interface defines callback methods during traverse WSDL.
- * WSDLVisitor could cancel artifact processing by using traversal context
- * <code>cancelXXXProcessing</code> methods.
- *
- * @author Kulik
- */
-public interface WSDLVisitor
-{
- /**
- * Method visits WSDL part object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(Part obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL service object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(Service obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL types object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(Types obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL operation object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(Operation obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL input object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(Input obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL output object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(Output obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL fault object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(Fault obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL binding object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(Binding obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL binding operation object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(
- BindingOperation obj,
- Object parent,
- WSDLTraversalContext ctx);
- /**
- * Method visits WSDL binding input object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(BindingInput obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL binding output object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(BindingOutput obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL binding fault object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(BindingFault obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL import object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(Import obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL element object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(Element obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL message object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(Message obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL port object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(Port obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL port type object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(PortType obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL definition object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(Definition obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL extensibility element object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(
- ExtensibilityElement obj,
- Object parent,
- WSDLTraversalContext ctx);
- /**
- * Method visits WSDL SOAP binding object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(SOAPBinding obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL SOAP body object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(SOAPBody obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL SOAP header object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(SOAPHeader obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL SOAP header fault object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(
- SOAPHeaderFault obj,
- Object parent,
- WSDLTraversalContext ctx);
- /**
- * Method visits WSDL SOAP fault object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element.
- * @param ctx current traversal context.
- */
- public void visit(SOAPFault obj, Object parent, WSDLTraversalContext ctx);
- /**
- * Method visits WSDL SOAP operation object.
- * @param obj WSDL element to be visited.
- * @param parent WSDL element..
- * @param ctx current traversal context.
- */
- public void visit(SOAPOperation obj, Object parent, WSDLTraversalContext ctx);
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/FileEntityResolver.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/FileEntityResolver.java
deleted file mode 100644
index bdafbd9b5..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/FileEntityResolver.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * 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.wsdl.xsd;
-
-import java.io.IOException;
-import java.io.InputStream;
-import org.apache.xerces.xni.XMLResourceIdentifier;
-import org.apache.xerces.xni.XNIException;
-import org.apache.xerces.xni.parser.XMLEntityResolver;
-import org.apache.xerces.xni.parser.XMLInputSource;
-
-/**
- * Entity resolve to resolve file entities.
- */
-public class FileEntityResolver implements XMLEntityResolver
-{
-
- /**
- * @see org.apache.xerces.xni.parser.XMLEntityResolver#resolveEntity(org.apache.xerces.xni.XMLResourceIdentifier)
- */
- public XMLInputSource resolveEntity(XMLResourceIdentifier resource) throws XNIException, IOException
- {
- String publicId = resource.getPublicId();
- String systemId = resource.getExpandedSystemId();
- String url = systemId;
- if(url == null)
- {
- url = publicId;
- }
- if(url == null)
- {
- url = resource.getNamespace();
- }
- if(url != null)
- {
- InputStream is = new LazyURLInputStream(url);
- return new XMLInputSource(publicId, systemId, systemId, is, null);
- }
- return null;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineSchemaGenerator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineSchemaGenerator.java
deleted file mode 100644
index 92e2d4f37..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineSchemaGenerator.java
+++ /dev/null
@@ -1,590 +0,0 @@
-/*******************************************************************************
- * 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.wsdl.xsd;
-
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import com.ibm.wsdl.Constants;
-
-/**
- * Generate a String representation of a schema for an inline schema. Will add imports for unresolved
- * namespaces.
- *
- * @author Lawrence Mandel, IBM
- */
-public class InlineSchemaGenerator
-{
- protected final String SOAP_ENCODING_URI = "http://schemas.xmlsoap.org/soap/encoding/";
- protected final String XMLNS = "xmlns";
- protected final String TARGETNAMESPACE = "targetNamespace";
- protected final String NAMESPACE = "namespace";
- protected final String IMPORT = "import";
- protected final String INCLUDE = "include";
- protected final String SCHEMA = "schema";
- protected final String SCHEMALOCATION = "schemaLocation";
- protected final String TYPE = "type";
- protected final String NAME = "name";
- protected final String[] ignoreNamespaces =
- { Constants.NS_URI_XSD_1999, Constants.NS_URI_XSD_2000, Constants.NS_URI_XSD_2001 };
-
- protected static InlineSchemaGenerator instance = null;
-
- /**
- * Constructor.
- */
- protected InlineSchemaGenerator()
- {
- }
-
- /**
- * Get the instance of the InlineSchemaGenerator.
- *
- * @return The instance of the inline schema generator.
- */
- protected static InlineSchemaGenerator getInstance()
- {
- if (instance == null)
- {
- instance = new InlineSchemaGenerator();
- }
- return instance;
- }
-
- /**
- * Create a string representation of a schema from the element provided.
- *
- * @param element The root element of the schema.
- * @param elements A list of the elements in the schema in order.
- * @param filelocation The URI of the file that contains the schema.
- * @return A string representation of a schema.
- */
- public static String createXSDString(Element element, List elements, String filelocation)
- {
- return InlineSchemaGenerator.createXSDString(element, elements, filelocation, new Hashtable());
- }
-
- /**
- * Creates a String representing the schema model with the root element of
- * extElem. Calls createXSDStringRecursively to take care of building the String
- * after it obtains the Element from the UnknownExtensibilityElement.
- *
- * @param element The root element of the schema.
- * @param elements A list to contain the elements in the schema in order.
- * @param filelocation The location of the file the schema is located in.
- * @param parentNSs A hashtable of parent namespaces to used to resolve prefixes.
- * @return A string representation of the schema with the root element 'element'.
- */
- public static String createXSDString(Element element, List elements, String filelocation, Hashtable parentNSs)
- {
- InlineSchemaGenerator schemaGenerator = InlineSchemaGenerator.getInstance();
- Hashtable nsResolver = schemaGenerator.getNSResolver(element);
- List reqns = schemaGenerator.getRequiredNamespaces(element);
- Hashtable reqNSDecl = schemaGenerator.resolveNamespaces(reqns, nsResolver, parentNSs);
- //Hashtable reqNSDecl = schemaGenerator.getRequiredNSDeclarations(reqns, nsResolver, parentNSs);
- List importNS = schemaGenerator.getImportNamespaces(element);
- reqns = schemaGenerator.removeImports(reqns, importNS);
- reqns = schemaGenerator.removeLocalNamespaces(reqns, element);
- return schemaGenerator.createXSDStringRecursively(element, elements, reqns, reqNSDecl, filelocation);
- }
- /**
- * Returns true if the SOAP encoding namespace is required but not imported.
- *
- * @param element The root element of the schema.
- * @param filelocation The location of the file containing the schema.
- * @param parentNSs A hashtable of the parent namespaces.
- * @return True if the soap encoding namespace is required but not imported, false otherwise.
- */
- public static boolean soapEncodingRequiredNotImported(Element element, String filelocation, Hashtable parentNSs)
- {
- InlineSchemaGenerator schemaGenerator = InlineSchemaGenerator.getInstance();
- Hashtable nsResolver = schemaGenerator.getNSResolver(element);
- List reqns = null;
-
- reqns = schemaGenerator.getRequiredNamespaces(element);
- schemaGenerator.resolveNamespaces(reqns, nsResolver, parentNSs);
- //schemaGenerator.resolveUndeclaredNamespaces(reqns, parentNSs);
- List importNS = schemaGenerator.getImportNamespaces(element);
- reqns = schemaGenerator.removeImports(reqns, importNS);
- reqns = schemaGenerator.removeLocalNamespaces(reqns, element);
-
- return schemaGenerator.checkSOAPEncodingRequired(reqns);
- }
-
- /**
- * This recursive method creates the schema String from the root Element.
- *
- * @param elem The root element of the schema.
- * @param elements A list to be created of the elements in the schema in order.
- * @param requiredNamespaces A list of required namespaces.
- * @param reqNSDecl A hashtable of required namespace declarations.
- * @param filelocation The uri of the file that contains this schema.
- * @return A string representation of this schema.
- */
- protected String createXSDStringRecursively(
- Element elem,
- List elements,
- List requiredNamespaces,
- Hashtable reqNSDecl,
- String filelocation)
- {
- if (elem == null)
- return ""; // just in case
-
- elements.add(elem);
-
- StringBuffer xsdString = new StringBuffer();
- String elementName = elem.getTagName();
- xsdString.append("<").append(elementName);
-
- boolean foundSchemaLocation = false; // flag if schemalocation is defined
- String namespace = ""; // the namespace if we're checking an import or include
- String namePrefix = ""; // the xmlns prefix used for the elements
- // Get all of the attributes for this element and append them to the xsdString
- NamedNodeMap atts = elem.getAttributes();
- for (int i = 0; i < atts.getLength(); i++)
- {
- Node n = atts.item(i);
- xsdString.append(" ").append(n.getNodeName()).append("=\"");
- String nodeName = n.getNodeName();
- if (nodeName.equalsIgnoreCase(SCHEMALOCATION) && filelocation != null)
- {
- foundSchemaLocation = true;
- String relativePath = n.getNodeValue();
- xsdString.append(relativePath).append("\"");
- }
- else
- {
- String nodeValue = n.getNodeValue();
- if (nodeName.equalsIgnoreCase(NAMESPACE))
- {
- namespace = nodeValue;
- }
- // get the name prefix for this schema to use in generating import statements
- else if (nodeName.indexOf(XMLNS) != -1)
- {
-
- if (nodeValue.equalsIgnoreCase(elem.getNamespaceURI()))
- {
- namePrefix = nodeName;
- if (namePrefix.equalsIgnoreCase(XMLNS))
- {
- namePrefix = "";
- }
- else
- {
- namePrefix = namePrefix.substring(6) + ":";
- }
- }
- }
- // Replace old schema namespaces with the new schema namespace.
- if(nodeValue.equals(Constants.NS_URI_XSD_1999) || nodeValue.equals(Constants.NS_URI_XSD_2000))
- {
- nodeValue = Constants.NS_URI_XSD_2001;
- }
- xsdString.append(nodeValue).append("\"");
- }
- }
- if (elementName.equalsIgnoreCase("import") && !foundSchemaLocation)
- {
- xsdString.append(" ").append(SCHEMALOCATION).append("=\"").append(namespace).append("\"");
- }
- // add in any required NS declarations from parent elements
- if (reqNSDecl != null)
- {
- Enumeration keys = reqNSDecl.keys();
- while (keys.hasMoreElements())
- {
- String key = (String)keys.nextElement();
- String declNS = (String)reqNSDecl.get(key);
- if(declNS.equals(Constants.NS_URI_XSD_1999) || declNS.equals(Constants.NS_URI_XSD_2000))
- {
- declNS = Constants.NS_URI_XSD_2001;
- }
- xsdString.append(" ").append(key).append("=\"").append(declNS).append("\"");
- }
-
- }
- xsdString.append(">");
- if (requiredNamespaces != null)
- {
- Iterator iRequiredNamespaces = requiredNamespaces.iterator();
- while (iRequiredNamespaces.hasNext())
- {
- String ns = (String)iRequiredNamespaces.next();
-
- xsdString
- .append("<")
- .append(namePrefix)
- .append(IMPORT)
- .append(" ")
- .append(NAMESPACE)
- .append("=\"")
- .append(ns)
- .append("\" ")
- .append(SCHEMALOCATION)
- .append("=\"")
- .append(ns)
- .append("\"/>");
- }
-
- }
- xsdString.append("\n");
-
- // call the method recursively for each child element
- NodeList childNodes = elem.getChildNodes();
-
- for (int i = 0; i < childNodes.getLength() || i < 5; i++)
- {
- Node n = childNodes.item(i);
- // we only want nodes that are Elements
- if (n instanceof Element)
- {
- Element child = (Element)n;
- xsdString.append(createXSDStringRecursively(child, elements, null, null, filelocation));
- }
- }
-
- xsdString.append("</").append(elem.getTagName()).append(">");
-
- return xsdString.toString();
-
- }
- /**
- * Get a list of all the namespaces that are used for elements or types in the schema.
- * These are the required namespaces in order to ensure that all the elments are valid.
- *
- * @param elem The element to check for required namespaces.
- * @return A list of required namespaces for the element and all its children.
- */
- protected List getRequiredNamespaces(Element elem)
- {
- List namespace = new Vector();
-
- // call the method recursively for each child element
- // register all the child types first
- NodeList childNodes = elem.getChildNodes();
- int numChildren = childNodes.getLength();
- // TODO: why is there a < 5 condition?
- for (int i = 0; i < numChildren /*|| i < 5*/; i++)
- {
- Node n = childNodes.item(i);
- // we only want nodes that are Elements
- if (n instanceof Element)
- {
- Element child = (Element)n;
- List childns = getRequiredNamespaces(child);
- for (int j = childns.size() - 1; j >= 0; j--)
- {
- String ns = (String)childns.get(j);
-
- if (!namespace.contains(ns))
- {
- namespace.add(ns);
- }
- }
- }
- }
- // Add the namespace of the current element
- String elemNS = elem.getPrefix();
- // if there is no namespace prefix set it to the empty prefix.
- if(elemNS == null)
- {
- elemNS = "";
- }
- if (!namespace.contains(elemNS.intern()))
- {
- namespace.add(elemNS.intern());
- }
- // now add all of the current element's namespaces
- // don't include import and schema elements
- String localname = elem.getLocalName();
- if (!localname.equals(IMPORT) && !localname.equals(INCLUDE) && !localname.equals(SCHEMA))
- {
- NamedNodeMap atts = elem.getAttributes();
- for (int i = 0; i < atts.getLength(); i++)
- {
- Node n = atts.item(i);
-
- String nodeName = n.getNodeName();
- // removed restriction that we're only looking at types
- // if (nodeName.equalsIgnoreCase(TYPE))
- // {
- // don't take namespace info from attributes defining namespaces.
- // that includes xmlns, targetNamespace
- // don't take namespace info from name attributes
- if (nodeName.indexOf(XMLNS) != -1 || nodeName.equals(TARGETNAMESPACE) || nodeName.equals(NAME))
- {
- continue;
- }
- String nodeValue = n.getNodeValue();
-
-
- int colonIndex = nodeValue.indexOf(":");
- // Don't take namespace info from attributes with the default namespace, that is attributes
- // that are not prefixed. (colonIndex == -1)
- // If the colonIndex is followed by a / then it is a URI and not
- // namespace qualified.
- if (colonIndex == -1 || nodeValue.charAt(colonIndex + 1) == '/')
- {
- continue;
- }
- // here we have found a colon delimiter so we need the namespace defined here
- else
- {
- nodeValue = nodeValue.substring(0, colonIndex);
- }
- if (!namespace.contains(nodeValue.intern()))
- {
-
- namespace.add(nodeValue.intern());
- }
- // }
- }
- }
-
- return namespace;
-
- }
-
- /**
- * Get a list of all the namespaces that have an import statement.
- *
- * @param elem The root element of the schema.
- * @return A list of all the namespaces that are imported.
- */
- protected List getImportNamespaces(Element elem)
- {
- List namespace = new Vector();
-
- // call the method recursively for each child element
- // register all the child types first
- NodeList childNodes = elem.getChildNodes();
-
- for (int i = 0; i < childNodes.getLength() || i < 5; i++)
- {
- Node n = childNodes.item(i);
- // we only want nodes that are Elements
- if (n instanceof Element)
- {
- Element child = (Element)n;
- List childns = getImportNamespaces(child);
- for (int j = childns.size() - 1; j >= 0; j--)
- {
- String ns = (String)childns.get(j);
- if (!namespace.contains(ns))
- {
- namespace.add(ns);
- }
- }
- }
- }
- // if this is an import element get the namespace and add it to the list
- if (elem.getLocalName().equalsIgnoreCase(IMPORT))
- {
- NamedNodeMap atts = elem.getAttributes();
- for (int i = 0; i < atts.getLength(); i++)
- {
- Node n = atts.item(i);
-
- String nodeName = n.getNodeName();
- if (nodeName.equalsIgnoreCase(NAMESPACE))
- {
- String nodeValue = n.getNodeValue();
- if (!namespace.contains(nodeValue.intern()))
- {
-
- namespace.add(nodeValue.intern());
- }
- }
- }
- }
-
- return namespace;
-
- }
-
- /**
- * Return a Hashtable with namespace prefixes as keys from the given element.
- *
- * @param elem The root element of the schema.
- * @return A hashtable with namespace prefixes mapped to namespaces.
- */
- protected Hashtable getNSResolver(Element elem)
- {
- Hashtable nsResolver = new Hashtable();
-
- NamedNodeMap atts = elem.getAttributes();
- for (int i = 0; i < atts.getLength(); i++)
- {
- Node n = atts.item(i);
-
- String nodeName = n.getNodeName();
- if (nodeName.indexOf(XMLNS) != -1)
- {
- String nodeValue = n.getNodeValue();
- String namePrefix = nodeName;
-
- if (namePrefix.equalsIgnoreCase(XMLNS))
- {
- namePrefix = "";
- }
- else
- {
- namePrefix = namePrefix.substring(6);
- }
- nsResolver.put(namePrefix, nodeValue);
-
- }
- }
- return nsResolver;
-
- }
-
- /**
- * Resolve the namespaces in the given namespaces list with the two namespace
- * resolver hashtables provided. Return a list of all the namespace that need
- * to be declared.
- * First resolve against the local namespaces with nsResolver.
- * Next resolve against the parent namespace with parentNSResolver.
- * A side affect of this method is the namespaces list is left with only those
- * namespaces that are resolved and the resolved entities are placed in the
- * list instead of the original entries.
- * For ex. If you provide a list such as {xsd, intf} and only xsd can be resolved
- * you will end up with the list {http://www.w3.org/2001/XMLSchema}
- *
- * @param namespaces The list of namespaces to resolve.
- * @param nsResolver The hashtable to be used as the local resolver.
- * @param parentNSResolver The hashtable to be used as the parent namespace resolver.
- * @return A Hashtable of namespaces that must be declared.
- */
- protected Hashtable resolveNamespaces(List namespaces, Hashtable nsResolver, Hashtable parentNSResolver)
- {
- Hashtable reqNSDecl = new Hashtable();
- if (namespaces != null && !namespaces.isEmpty() && nsResolver != null)
- {
- for (int i = namespaces.size() - 1; i >= 0; i--)
- {
- String ns = (String)namespaces.get(i);
- // Remove the namespace from the list.
- namespaces.remove(i);
- // First try to resolve against the local namespace resolver.
- if (nsResolver.containsKey(ns))
- {
- Object resolvedNS = nsResolver.get(ns);
- // Only add the namespace if it's not already in the list.
- if(!namespaces.contains(resolvedNS))
- {
- namespaces.add(i, nsResolver.get(ns));
- }
- }
- // Next try to resolve against the parent namespace resolver.
- else
- {
- if (ns.equals(""))
- {
- ns = XMLNS;
- }
- else
- {
- ns = XMLNS + ":" + ns;
- }
- if (parentNSResolver.containsKey(ns))
- {
- Object resolvedNS = parentNSResolver.get(ns);
- // Only add the namespace if it's not already in the list.
- if(!namespaces.contains(resolvedNS))
- {
- namespaces.add(i, resolvedNS);
- }
- // Still need to declare the namespace though.
- reqNSDecl.put(ns, resolvedNS);
- }
- }
-
- }
- }
- return reqNSDecl;
- }
-
- /**
- * Remove any namespace from the namespaces list if it is in the import list.
- *
- * @param namespaces The namespaces list.
- * @param importedNamespaces A list of imported namespaces.
- * @return The list of namespaces without the imported namespaces.
- */
- protected List removeImports(List namespaces, List importedNamespaces)
- {
- if (namespaces != null && importedNamespaces != null && !importedNamespaces.isEmpty())
- {
- Iterator iImportedNS = importedNamespaces.iterator();
- while (iImportedNS.hasNext())
- {
- String iNS = (String)iImportedNS.next();
-
- namespaces.remove(iNS);
- }
- }
- return namespaces;
- }
-
- /**
- * Remove the local namespace for the schema and the namespaces listed in the ignoreNamespaces
- * list from the namespaces list provided.
- *
- * @param namespaces The list of local namespaces.
- * @param elem The root element of the schema.
- * @return The list of namespaces with the local namespaces removed.
- */
- protected List removeLocalNamespaces(List namespaces, Element elem)
- {
- if (namespaces != null && elem != null)
- {
- String ns = elem.getAttribute(TARGETNAMESPACE);
- namespaces.remove(ns);
-
- for (int i = ignoreNamespaces.length - 1; i >= 0; i--)
- {
- // keep removing the namespace until it is not in the list
- if (namespaces.remove(ignoreNamespaces[i]))
- {
- i++;
- }
- }
- }
- return namespaces;
- }
-
- /**
- * Returns true if the SOAP encoding namespace is in the list of required namespaces,
- * false otherwise.
- *
- * @param reqns The list of namespaces to check for the SOAP encoding namespace.
- * @return True if the SOAP encoding namespaces is in the list, false otherwise.
- */
- protected boolean checkSOAPEncodingRequired(List reqns)
- {
- if (reqns.contains(SOAP_ENCODING_URI))
- {
- return true;
- }
- return false;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineSchemaValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineSchemaValidator.java
deleted file mode 100644
index aec05ba01..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineSchemaValidator.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * 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.wsdl.xsd;
-
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-import com.ibm.wsdl.Constants;
-
-/**
- * Plugin validator for the WSDL Validation framework. Validates inline schema found in a WSDL document.
- *
- * @author Lawrence Mandel (lmandel@ca.ibm.com)
- */
-public class InlineSchemaValidator
-{
- List elements = null;
-
-
- public Map validate(Object element, List parents, String filename) throws Exception
- {
- elements = new Vector();
- UnknownExtensibilityElement elem = (UnknownExtensibilityElement) element;
- Definition wsdlDefinition = (Definition) parents.get(parents.size() - 1);
- // Add in the namespaces defined in the doc already that aren't defined locally in this schema.
- // There is no need to check for namespaces other then in the defintions and types elements as
- // inline schema can not have any other parents and must have there two parents.
- // First take care of the definitions element
-
- // create the inline schema string
- Element w3celement = elem.getElement();
- Hashtable parentnamespaces = getNamespaceDeclarationsFromParents(wsdlDefinition,w3celement);
- String targetNamespace = w3celement.getAttribute(Constants.ATTR_TARGET_NAMESPACE);
- // if the targetNamespace hasn't been defined for the schema use the
- // targetNamespace of the definitions element
- /*if(targetNamespace == null || targetNamespace.equals(""))
- {
- targetNamespace = wsdlDefinition.getTargetNamespace();
- w3celement.setAttribute(Constants.ATTR_TARGET_NAMESPACE,targetNamespace);
- }*/
-
- String xsd = InlineSchemaGenerator.createXSDString(w3celement, elements, filename, parentnamespaces);
-
- // If the namespace given is one of the old schema namespaces produce a warning.
- String namespace = w3celement.getNamespaceURI();
- if(namespace.equals(Constants.NS_URI_XSD_1999) || namespace.equals(Constants.NS_URI_XSD_2000))
- {
- throw new Exception("An old version of the schema namespace is specified.");
- }
-
- // now create and call the validator for the inline schema
- XSDValidator schemav = new XSDValidator();
-
- //String fileLocation = new URL(validatormanager.getFilename()).getPath();
- InlineXSDResolver inlineEntityResolver =
- getEntityResolver(wsdlDefinition, (Types) parents.get(0), filename, targetNamespace);
- // add in the external XSD Catalog to resolve schemas offline
- XMLEntityResolverChain entityResolverChain = new XMLEntityResolverChain();
- entityResolverChain.addEntityResolver(inlineEntityResolver);
- entityResolverChain.addEntityResolver(new FileEntityResolver());
- entityResolverChain.addEntityResolver(XMLCatalogResolver.getInstance());
- schemav.validateInlineSchema(xsd, targetNamespace, filename, entityResolverChain, inlineEntityResolver);
-
- // check if the SOAP Encoding namespace is required but not imported
- if (InlineSchemaGenerator.soapEncodingRequiredNotImported(elem.getElement(), filename,parentnamespaces))
- {
- throw new Exception("The inline schema uses an element or type from "
- + "the SOAP encoding namespace but the namespace has not been imported. "
- + "The SOAP encoding namespace should be imported with an import "
- + "statement before it is used.");
- }
-
- // If the schema isn't valid
- if (!schemav.isValid())
- {
- // Gathering all the errors
- StringBuffer exception = new StringBuffer();
- Iterator i = schemav.getErrors().iterator();
- while (i.hasNext())
- {
- exception.append(i.next()).append('\n');
- }
- // throw an exception
- throw new Exception(exception.toString());
- }
- // if the schema is valid
- else
- {
- Map map = new HashMap(1);
- map.put(targetNamespace, schemav.getXSModel());
- return map;
- }
- }
-
- /**
- * Get an entity resolver that will resolve inline schemas. Every inline schema is preregistered with
- * the resolver.
- *
- * @param wsdlDefinition The WSDL definitions element.
- * @param types The types element.
- * @param referenceLocation The location of the file that contains this schema.
- * @param targetNamespace The targetNamespace of the schema.
- * @return An entity resolver that can resolve inline schemas.
- */
- protected InlineXSDResolver getEntityResolver(Definition wsdlDefinition, Types types, String referenceLocation, String targetNamespace)
- {
- InlineXSDResolver entityResolver = new InlineXSDResolver();
-// entityResolver.setReferenceLocation(referenceLocation);
- List schemas = types.getExtensibilityElements();
- if (schemas != null)
- {
- Iterator iSchemas = schemas.iterator();
- while (iSchemas.hasNext())
- {
- UnknownExtensibilityElement extElem = (UnknownExtensibilityElement) iSchemas.next();
- String thisNamespace = extElem.getElement().getAttribute(Constants.ATTR_TARGET_NAMESPACE);
- if (thisNamespace != null && !thisNamespace.equalsIgnoreCase(targetNamespace))
- {
-
- Element element = extElem.getElement();
-
-// create the inline schema string
- //Element w3celement = elem.getElement();
- Hashtable parentnamespaces = getNamespaceDeclarationsFromParents(wsdlDefinition,element);
- String xsd = InlineSchemaGenerator.createXSDString(element, elements, referenceLocation, parentnamespaces);
- //addNamespaceDeclarationsFromParents(wsdlDefinition,element);
- entityResolver.add(thisNamespace, xsd);
- }
-
- }
- }
- return entityResolver;
- }
-
- /**
- * Get the namespace declarations as in the form
- * xmlns="somenamespace"
- * from the definitions and types elements and add them to the schema element so the schema
- * validator will have access to them.
- *
- * @param wsdlDefinition The WSDL definitions element.
- * @param element The types element.
- * @return A hashtable with the namespace elements from the elements provided.
- */
- protected Hashtable getNamespaceDeclarationsFromParents(Definition wsdlDefinition, Element element)
- {
- Hashtable nss = new Hashtable();
- Iterator nameSpaces = wsdlDefinition.getNamespaces().keySet().iterator();
-
- String XMLNS = Constants.ATTR_XMLNS;
-
- while (nameSpaces.hasNext())
- {
- String nsprefix = XMLNS;
- String ns = (String) nameSpaces.next();
- if (!ns.equalsIgnoreCase(""))
- {
- nsprefix += ":";
- }
- if (!element.hasAttribute(nsprefix + ns))
- {
- nss.put(nsprefix + ns, wsdlDefinition.getNamespace(ns));
-// element.setAttribute(nsprefix + ns, wsdlDefinition.getNamespace(ns));
- }
-
- }
- // Next handle the parent types element
- NamedNodeMap atts = element.getParentNode().getAttributes();
- int attslength = atts.getLength();
- for (int i = 0; i < attslength; i++)
- {
- Node tempnode = atts.item(i);
- String nodename = tempnode.getNodeName();
- // if this is a namespace attribute
- if (nodename.indexOf(XMLNS) != -1)
- {
- nss.put(nodename, tempnode.getNodeValue());
- //element.setAttribute(nodename, tempnode.getNodeValue());
- }
- }
- return nss;
- }
-
- /**
- * Given a line number for the schema returns the element found on that line.
- * Useful for obtaining elements from schema Strings.
- *
- * @param line The line number for the schema.
- * @return The object located at the line or at line 0 if the line is invalid.
- */
- public Object getObjectAtLine(int line)
- {
- if(line < 0 || line >= elements.size())
- {
- line = 0;
- }
- return elements.get(line);
- }
-
- /**
- * Replace any instance of the 2001 schema namespace in the given message with
- * the given namespace.
- *
- * @param message The message to replace the namespace in.
- * @param namespace The namespace used for replacement.
- * @return The message with the 2001 schema namespace replaced by the given namespace.
- */
- // private String replaceNamespace(String message, String namespace)
- // {
- // String xsd2001 = Constants.NS_URI_XSD_2001;
- // int start = message.indexOf(xsd2001);
- // int end = start + xsd2001.length();
- // if(start < 0)
- // {
- // return message;
- // }
- // String startString = message.substring(0,start);
- // String endString = message.substring(end,message.length());
- // return startString + namespace + endString;
- // }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineXSDResolver.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineXSDResolver.java
deleted file mode 100644
index a9d5a7999..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineXSDResolver.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * 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.wsdl.xsd;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.Hashtable;
-
-import org.apache.xerces.xni.XMLResourceIdentifier;
-import org.apache.xerces.xni.XNIException;
-import org.apache.xerces.xni.parser.XMLEntityResolver;
-import org.apache.xerces.xni.parser.XMLInputSource;
-
-/**
- * An XMLEntityResolver that allows inline schemas to resolve each other through imports.
- *
- * @author Lawrence Mandel (lmandel@ca.ibm.com)
- */
-public class InlineXSDResolver implements XMLEntityResolver
-{
- protected Hashtable entities = new Hashtable();
- protected XMLInputSource referringSchemaInputSource = null;
- protected String referringSchemaNamespace = null;
-
- /**
- * Constuctor.
- */
- public InlineXSDResolver()
- {
- }
-
- /* (non-Javadoc)
- * @see org.apache.xerces.xni.parser.XMLEntityResolver#resolveEntity(org.apache.xerces.xni.XMLResourceIdentifier)
- */
- public XMLInputSource resolveEntity(XMLResourceIdentifier resourceIdentifier)
- throws XNIException, IOException {
- String systemId = resourceIdentifier.getExpandedSystemId();
- String publicId = resourceIdentifier.getPublicId();
- String namespace = resourceIdentifier.getNamespace();
- XMLInputSource is = null;
- String schema = null;
- if (systemId == null)
- {
- if(publicId == null)
- {
- if(namespace == null)
- {
- return null;
- }
- else
- {
- systemId = namespace;
- }
- }
- else
- {
- systemId = publicId;
- }
- }
-
- if(referringSchemaNamespace != null && referringSchemaNamespace.equals(systemId))
- {
- if(referringSchemaInputSource!=null)
- {
- return referringSchemaInputSource;
- }
- }
- else if ((schema = (String) entities.get(systemId)) != null && !schema.equals(""))
- {
- is = new XMLInputSource(publicId, systemId, systemId,new StringReader(schema),null);
- }
-
- //if(is == null)
- //{
- // throw new IOException();
- //}
- return is;
- }
-
- /**
- * Add an inline schema.
- *
- * @param targetNamespace - the target namespace of the schema
- * @param schema - a string representation of the schema
- */
- public void add(String targetNamespace, String schema)
- {
- entities.put(targetNamespace, schema);
- }
-
- /**
- * Add the referring inline schema.
- *
- * @param inputSource - a representation of the inline schema
- * @param namespace - the namespace of the inline schema
- */
- public void addReferringSchema(XMLInputSource inputSource, String namespace)
- {
- referringSchemaInputSource = inputSource;
- referringSchemaNamespace = namespace;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/LazyURLInputStream.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/LazyURLInputStream.java
deleted file mode 100644
index 86e2a91f2..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/LazyURLInputStream.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * 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.wsdl.xsd;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-
-/**
- * This class allows InputStreams to be created and returned to xerces without
- * actually opening file handles or network connections until it is absolutely
- * neccessary.
- */
-public class LazyURLInputStream extends InputStream
-{
- private static int debugTotalOpenStreamCount = 0;
- protected InputStream inner;
- protected String url;
- protected boolean error;
- boolean hasMarks;
- boolean pretendFileIsStillOpen;
-
- public LazyURLInputStream(String url)
- {
- this.url = url;
- inner = null;
- pretendFileIsStillOpen = false;
- }
-
- private void createInnerStreamIfRequired() throws IOException
- {
- if (inner == null && !error)
- {
- debugTotalOpenStreamCount++;
- //System.out.println("Creating stream (" + debugTotalOpenStreamCount + ")-- " + url);
- try
- {
- inner = new URL(url).openStream();
- pretendFileIsStillOpen = false;
- hasMarks = false;
- }
- finally
- {
- if (inner == null)
- {
- error = true;
- }
- }
- }
- }
-
- protected void closeStream() throws IOException {
- if (inner != null && !pretendFileIsStillOpen) {
- inner.close();
- pretendFileIsStillOpen = true;
- }
- }
-
- public int available() throws IOException
- {
- if (pretendFileIsStillOpen) return 0;
- createInnerStreamIfRequired();
- if (inner == null) throw new IOException("Stream not available");
- return inner.available();
- }
-
- public void close() throws IOException
- {
- if (pretendFileIsStillOpen) {
- // Stop behaving as if the stream were still open.
- pretendFileIsStillOpen = false;
- } else {
- if (inner != null) {
- debugTotalOpenStreamCount--;
- //System.out.println("Closing stream (" + debugTotalOpenStreamCount + ") -- " + url);
- inner.close();
- }
- }
- }
-
- public void mark(int readlimit)
- {
- if (pretendFileIsStillOpen) return;
- hasMarks = true;
- try {
- createInnerStreamIfRequired();
- inner.mark(readlimit);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-
- public boolean markSupported()
- {
- if (pretendFileIsStillOpen) return false;
- try {
- createInnerStreamIfRequired();
- if (inner == null) return false;
- return inner.markSupported();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return false;
- }
-
- public int read() throws IOException
- {
- if (pretendFileIsStillOpen) return -1;
- createInnerStreamIfRequired();
- if (inner == null) throw new IOException("Stream not available");
- int bytesRead = inner.read();
- if (bytesRead == -1 && !hasMarks) closeStream();
- return bytesRead;
- }
-
-
- public int read(byte[] b) throws IOException {
- if (pretendFileIsStillOpen) return -1;
- createInnerStreamIfRequired();
- if (inner == null) throw new IOException("Stream not available");
- int bytesRead = inner.read(b);
- if (bytesRead == -1 && !hasMarks) closeStream();
- return bytesRead;
- }
-
- public int read(byte[] b, int off, int len) throws IOException
- {
- if (pretendFileIsStillOpen) return -1;
- createInnerStreamIfRequired();
- if (inner == null) throw new IOException("Stream not available");
- int bytesRead = inner.read(b, off, len);
- if (bytesRead == -1 && !hasMarks) closeStream();
- return bytesRead;
- }
-
- public void reset() throws IOException
- {
- if (pretendFileIsStillOpen) return;
- createInnerStreamIfRequired();
- if (inner == null) throw new IOException("Stream not available");
- inner.reset();
- }
-
- public long skip(long n) throws IOException
- {
- if (pretendFileIsStillOpen) return 0;
- createInnerStreamIfRequired();
- if (inner == null) throw new IOException("Stream not available");
- return inner.skip(n);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/SchemaAttributeTable.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/SchemaAttributeTable.java
deleted file mode 100644
index 449762fd4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/SchemaAttributeTable.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * 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.wsdl.xsd;
-
-import org.apache.xerces.impl.xs.SchemaSymbols;
-import org.apache.xerces.util.SymbolTable;
-/**
- * This class will allow the calling code to see if the attribute is defined in schema.
- * This serves as schema for schema.
- *
- * @author Lawrence Mandel (lmandel@ca.ibm.com)
- */
-public class SchemaAttributeTable extends SymbolTable
-{
-
- /**
- * Constructor.
- */
- public SchemaAttributeTable()
- {
- // add all of the sybols to the table. SchemaSymbols probably should have
- // a SymbolTable for these but it doesn't
-
- super.addSymbol(SchemaSymbols.ATTVAL_TWOPOUNDANY);
- super.addSymbol(SchemaSymbols.ATTVAL_TWOPOUNDLOCAL);
- super.addSymbol(SchemaSymbols.ATTVAL_TWOPOUNDOTHER);
- super.addSymbol(SchemaSymbols.ATTVAL_TWOPOUNDTARGETNS);
- super.addSymbol(SchemaSymbols.ATTVAL_POUNDALL);
- super.addSymbol(SchemaSymbols.ATTVAL_FALSE_0);
- super.addSymbol(SchemaSymbols.ATTVAL_TRUE_1);
- super.addSymbol(SchemaSymbols.ATTVAL_ANYSIMPLETYPE);
- super.addSymbol(SchemaSymbols.ATTVAL_ANYTYPE);
- super.addSymbol(SchemaSymbols.ATTVAL_ANYURI);
- super.addSymbol(SchemaSymbols.ATTVAL_BASE64BINARY);
- super.addSymbol(SchemaSymbols.ATTVAL_BOOLEAN);
- super.addSymbol(SchemaSymbols.ATTVAL_BYTE);
- super.addSymbol(SchemaSymbols.ATTVAL_COLLAPSE);
- super.addSymbol(SchemaSymbols.ATTVAL_DATE);
- super.addSymbol(SchemaSymbols.ATTVAL_DATETIME);
- super.addSymbol(SchemaSymbols.ATTVAL_DAY);
- super.addSymbol(SchemaSymbols.ATTVAL_DECIMAL);
- super.addSymbol(SchemaSymbols.ATTVAL_DOUBLE);
- super.addSymbol(SchemaSymbols.ATTVAL_DURATION);
- super.addSymbol(SchemaSymbols.ATTVAL_ENTITY);
- super.addSymbol(SchemaSymbols.ATTVAL_ENTITIES);
- super.addSymbol(SchemaSymbols.ATTVAL_EXTENSION);
- super.addSymbol(SchemaSymbols.ATTVAL_FALSE);
- super.addSymbol(SchemaSymbols.ATTVAL_FLOAT);
- super.addSymbol(SchemaSymbols.ATTVAL_HEXBINARY);
- super.addSymbol(SchemaSymbols.ATTVAL_ID);
- super.addSymbol(SchemaSymbols.ATTVAL_IDREF);
- super.addSymbol(SchemaSymbols.ATTVAL_IDREFS);
- super.addSymbol(SchemaSymbols.ATTVAL_INT);
- super.addSymbol(SchemaSymbols.ATTVAL_INTEGER);
- super.addSymbol(SchemaSymbols.ATTVAL_LANGUAGE);
- super.addSymbol(SchemaSymbols.ATTVAL_LAX);
- super.addSymbol(SchemaSymbols.ATTVAL_LIST);
- super.addSymbol(SchemaSymbols.ATTVAL_LONG);
- super.addSymbol(SchemaSymbols.ATTVAL_NAME);
- super.addSymbol(SchemaSymbols.ATTVAL_NEGATIVEINTEGER);
- super.addSymbol(SchemaSymbols.ATTVAL_MONTH);
- super.addSymbol(SchemaSymbols.ATTVAL_MONTHDAY);
- super.addSymbol(SchemaSymbols.ATTVAL_NCNAME);
- super.addSymbol(SchemaSymbols.ATTVAL_NMTOKEN);
- super.addSymbol(SchemaSymbols.ATTVAL_NMTOKENS);
- super.addSymbol(SchemaSymbols.ATTVAL_NONNEGATIVEINTEGER);
- super.addSymbol(SchemaSymbols.ATTVAL_NONPOSITIVEINTEGER);
- super.addSymbol(SchemaSymbols.ATTVAL_NORMALIZEDSTRING);
- super.addSymbol(SchemaSymbols.ATTVAL_NOTATION);
- super.addSymbol(SchemaSymbols.ATTVAL_OPTIONAL);
- super.addSymbol(SchemaSymbols.ATTVAL_POSITIVEINTEGER);
- super.addSymbol(SchemaSymbols.ATTVAL_PRESERVE);
- super.addSymbol(SchemaSymbols.ATTVAL_PROHIBITED);
- super.addSymbol(SchemaSymbols.ATTVAL_QNAME);
- super.addSymbol(SchemaSymbols.ATTVAL_QUALIFIED);
- super.addSymbol(SchemaSymbols.ATTVAL_REPLACE);
- super.addSymbol(SchemaSymbols.ATTVAL_REQUIRED);
- super.addSymbol(SchemaSymbols.ATTVAL_RESTRICTION);
- super.addSymbol(SchemaSymbols.ATTVAL_SHORT);
- super.addSymbol(SchemaSymbols.ATTVAL_SKIP);
- super.addSymbol(SchemaSymbols.ATTVAL_STRICT);
- super.addSymbol(SchemaSymbols.ATTVAL_STRING);
- super.addSymbol(SchemaSymbols.ATTVAL_SUBSTITUTION);
- super.addSymbol(SchemaSymbols.ATTVAL_TIME);
- super.addSymbol(SchemaSymbols.ATTVAL_TOKEN);
- super.addSymbol(SchemaSymbols.ATTVAL_TRUE);
- super.addSymbol(SchemaSymbols.ATTVAL_UNBOUNDED);
- super.addSymbol(SchemaSymbols.ATTVAL_UNION);
- super.addSymbol(SchemaSymbols.ATTVAL_UNQUALIFIED);
- super.addSymbol(SchemaSymbols.ATTVAL_UNSIGNEDBYTE);
- super.addSymbol(SchemaSymbols.ATTVAL_UNSIGNEDINT);
- super.addSymbol(SchemaSymbols.ATTVAL_UNSIGNEDLONG);
- super.addSymbol(SchemaSymbols.ATTVAL_UNSIGNEDSHORT);
- super.addSymbol(SchemaSymbols.ATTVAL_YEAR);
- super.addSymbol(SchemaSymbols.ATTVAL_YEARMONTH);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/ValidateErrorHandler.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/ValidateErrorHandler.java
deleted file mode 100644
index 33a73fa3d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/ValidateErrorHandler.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * 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.wsdl.xsd;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.xerces.xni.XNIException;
-import org.apache.xerces.xni.parser.XMLErrorHandler;
-import org.apache.xerces.xni.parser.XMLParseException;
-
-/**
- * An implementation of XMLErrorHandler that captures error from Xerces.
- *
- * @author Lawrence Mandel (lmandel@ca.ibm.com)
- */
-public class ValidateErrorHandler implements XMLErrorHandler
-{
- ArrayList errorList = new ArrayList();
-
- /**
- * Get the error messages created by Xerces.
- *
- * @return The errors list.
- */
- public List getErrorMessages()
- {
- return errorList;
- }
-
- /**
- * @see org.apache.xerces.xni.parser.XMLErrorHandler#error(java.lang.String, java.lang.String, org.apache.xerces.xni.parser.XMLParseException)
- */
- public void error(String arg0, String arg1, XMLParseException exception) throws XNIException
- {
- errorList.add("Error: " + exception.getMessage());
- }
-
- /**
- * @see org.apache.xerces.xni.parser.XMLErrorHandler#fatalError(java.lang.String, java.lang.String, org.apache.xerces.xni.parser.XMLParseException)
- */
- public void fatalError(String arg0, String arg1, XMLParseException exception) throws XNIException
- {
- errorList.add("Fatal error: " + exception.getMessage());
- }
-
- /**
- * @see org.apache.xerces.xni.parser.XMLErrorHandler#warning(java.lang.String, java.lang.String, org.apache.xerces.xni.parser.XMLParseException)
- */
- public void warning(String arg0, String arg1, XMLParseException exception) throws XNIException
- {
- errorList.add("Warning: " + exception.getMessage());
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalog.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalog.java
deleted file mode 100644
index e4afb55a8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalog.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * 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.wsdl.xsd;
-
-/**
- * XMLCatalog
- * This class can be used to register, obtain and delete an instance of an
- * XML catalog. Method definitions are provided for the catalog to set
- * a location in the catalog and resolve an entity from the catalog.
- *
- * @author Lawrence Mandel (lmandel@ca.ibm.com)
- */
-public abstract class XMLCatalog
-{
- private static XMLCatalog instance = null;
- private static Class xmlcatalogclass = null;
-
- /**
- * Return an instance of the XML catalog. If no instance is registered,
- * returns a default instance.
- *
- * @return the instance of the XML catalog
- */
- public static XMLCatalog getInstance()
- {
- if (instance == null)
- {
- if (xmlcatalogclass != null)
- {
- try
- {
- instance = (XMLCatalog)xmlcatalogclass.newInstance();
- }
- catch (Exception e)
- {
- instance = new XMLCatalogImpl();
- }
- }
- else
- {
- instance = new XMLCatalogImpl();
- }
- }
- return instance;
- }
-
- /**
- * Set the class of the XML catalog to be used.
- *
- * @param xmlcatalog - the class of the XML catalog to be used
- */
- public static void setXMLCatalog(Class xmlcatalog)
- {
- xmlcatalogclass = xmlcatalog;
- }
-
- /**
- * Resets the instance of the XML catalog to null. Allows switching XML catalogs.
- */
- public static void reset()
- {
- instance = null;
- xmlcatalogclass = null;
- }
-
- /**
- * Add a public id and a location to the catalog.
- *
- * @param publicId - the public id of the entry
- * @param systemId - the system id of the entry
- */
- public abstract void addEntryToCatalog(String publicId, String systemId);
-
- /**
- * Resolve the location of an entity given public and system ids.
- *
- * @param publicId - the public id of the entity to be resolved
- * @param systemId - the system id of the entity to be resolved
- * @return the location of the entity
- */
- public abstract String resolveEntityLocation(String publicId, String systemId);
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalogImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalogImpl.java
deleted file mode 100644
index f7c40e7ff..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalogImpl.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * 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.wsdl.xsd;
-
-import java.util.Hashtable;
-import java.util.Map;
-
-/**
- * The default implementation of the XML Catalog.
- *
- * @author Lawrence Mandel (lmandel@ca.ibm.com)
- */
-public class XMLCatalogImpl extends XMLCatalog
-{
- protected Map catalog = new Hashtable();
-
- /* (non-Javadoc)
- * @see org.eclipse.wsdl.validate.xmlconformance.XMLCatalog#addEntryToCatalog(java.lang.String, java.lang.String)
- */
- public void addEntryToCatalog(String publicId, String systemId)
- {
- catalog.put(publicId, systemId);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wsdl.validate.xmlconformance.XMLCatalog#resolveEntityLocation(java.lang.String, java.lang.String)
- */
- public String resolveEntityLocation(String publicId, String systemId)
- {
- // if there's no system id use the public id
- if (systemId == null || systemId.equals(""))
- {
- systemId = publicId;
- }
- return (String)catalog.get(systemId);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalogResolver.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalogResolver.java
deleted file mode 100644
index 33efdc274..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalogResolver.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * 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.wsdl.xsd;
-
-import java.io.IOException;
-import java.io.StringReader;
-
-import org.apache.xerces.xni.XMLResourceIdentifier;
-import org.apache.xerces.xni.XNIException;
-import org.apache.xerces.xni.parser.XMLEntityResolver;
-import org.apache.xerces.xni.parser.XMLInputSource;
-
-/**
- * A resolver to resolve entities from the XML catalog.
- *
- * @author Lawrence Mandel (lmandel@ca.ibm.com)
- */
-public class XMLCatalogResolver implements XMLEntityResolver
-{
- protected static XMLCatalogResolver xmlCatalog;
-
- /**
- * Constructor.
- */
- protected XMLCatalogResolver()
- {
- }
-
- /**
- * Get the instance of this resolver.
- *
- * @return the instance of this resolver
- */
- public static XMLCatalogResolver getInstance()
- {
- if (xmlCatalog == null)
- {
- xmlCatalog = new XMLCatalogResolver();
- }
- return xmlCatalog;
- }
-
- /**
- * @see org.xml.sax.EntityResolver#resolveEntity(java.lang.String, java.lang.String)
- */
- public XMLInputSource resolveEntity(XMLResourceIdentifier resourceIdentifier) throws XNIException, IOException
- {
- String publicId = resourceIdentifier.getPublicId();
- String systemId = resourceIdentifier.getExpandedSystemId();
- String location = XMLCatalog.getInstance().resolveEntityLocation(publicId, systemId);
- if (location == null)
- {
- XMLInputSource inputSource = new XMLInputSource(publicId, systemId, systemId, new StringReader(location), null);
- return inputSource;
- }
- // otherwise return null to tell the parser to locate the systemId as a URI
- return null;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLEntityResolverChain.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLEntityResolverChain.java
deleted file mode 100644
index f71f8031f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLEntityResolverChain.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * 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.wsdl.xsd;
-
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.apache.xerces.xni.XMLResourceIdentifier;
-import org.apache.xerces.xni.XNIException;
-import org.apache.xerces.xni.parser.XMLEntityResolver;
-import org.apache.xerces.xni.parser.XMLInputSource;
-
-/**
- * Handle a chain of entity resolvers.
- *
- * @author Lawrence Mandel (lmandel@ca.ibm.com)
- */
-public class XMLEntityResolverChain implements XMLEntityResolver
-{
- private List entityResolvers = new Vector();
-
- /**
- * @see org.apache.xerces.xni.parser.XMLEntityResolver#resolveEntity(org.apache.xerces.xni.XMLResourceIdentifier)
- */
- public XMLInputSource resolveEntity(XMLResourceIdentifier xmlResourceIdentifier) throws XNIException, IOException
- {
- XMLInputSource is = null;
- Iterator entityResolverIter = entityResolvers.iterator();
- while (entityResolverIter.hasNext())
- {
- XMLEntityResolver entityResolver = (XMLEntityResolver)entityResolverIter.next();
- try
- {
- is = entityResolver.resolveEntity(xmlResourceIdentifier);
- }
- catch (XNIException e)
- {
- }
- catch (IOException e)
- {
- }
- if (is != null)
- {
- break;
- }
- }
- // Throw and IOException if the file isn't found
- if (is == null)
- {
- throw new IOException("Unable to locate file");
- }
- return is;
- }
-
- /**
- * Add an entity resolver to this chain.
- *
- * @param entityResolver The resolver to add to the chain.
- */
- public void addEntityResolver(XMLEntityResolver entityResolver)
- {
- entityResolvers.add(entityResolver);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XSDValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XSDValidator.java
deleted file mode 100644
index bad3c7157..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XSDValidator.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * 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.wsdl.xsd;
-
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.xerces.parsers.XMLGrammarPreparser;
-import org.apache.xerces.util.XMLGrammarPoolImpl;
-import org.apache.xerces.xni.grammars.XMLGrammarDescription;
-import org.apache.xerces.xni.grammars.XMLGrammarPool;
-import org.apache.xerces.xni.grammars.XSGrammar;
-import org.apache.xerces.xni.parser.XMLEntityResolver;
-import org.apache.xerces.xni.parser.XMLInputSource;
-import org.apache.xerces.xs.XSModel;
-
-
-/**
- * Validate schemas from files or String.
- *
- * @author Lawrence Mandel (lmandel@ca.ibm.com)
- */
-public class XSDValidator
-{
- private XSModel xsModel;
- private boolean isValidXSD;
- private List errors;
- private String filelocation;
-
- /**
- * Constructor.
- */
- public XSDValidator()
- {
- xsModel = null;
- isValidXSD = false;
- errors = new ArrayList();
- }
- /**
- * Validate an inline schema.
- *
- * @param schema A schema represented as a string.
- * @param targetNamespace The target namespace of the schema.
- * @param fileloc The uri of the file that contains the schema.
- */
- public void validateInlineSchema(String schema, String targetNamespace, String fileloc)
- {
- validateInlineSchema(schema, targetNamespace, fileloc, null, null);
- }
-
- /**
- * Validate an inline schema and specify an entity resolver.
- *
- * @param schema This schema represented as a string.
- * @param targetNamespace The target namespace of the schema.
- * @param fileloc The uri of the file that contains this schema.
- * @param entityResolverChain The entity resolver chain.
- * @param inlineSchemaEntityResolver An inline schema resolver for this schema.
- */
- public void validateInlineSchema(
- String schema,
- String targetNamespace,
- String fileloc,
- XMLEntityResolver entityResolverChain,
- XMLEntityResolver inlineSchemaEntityResolver)
- {
- filelocation = fileloc;
-
- validateXSD(schema, true, entityResolverChain,targetNamespace, inlineSchemaEntityResolver);
- }
-
- /**
- * Validate the file located at the uri specified with the given entity resolver.
- *
- * @param uri An absolute uri for the schema location.
- * @param entityResolver An entity resolver to be used.
- */
- public void validate(String uri, XMLEntityResolver entityResolver)
- {
- validateXSD(uri, false, entityResolver, null, null);
- }
-
- /**
- * Validate the schema.
- *
- * @param schema The schema or it's location.
- * @param inlineXSD True if an inline schema, false otherwise.
- * @param entityResolver An entity resolver to use.
- * @param targetNamespace The target namespace of the schema being validated.
- * @param inlineSchemaEntityResolver An inline schema entity resolver.
- */
- protected void validateXSD(String schema, boolean inlineXSD, XMLEntityResolver entityResolver, String targetNamespace, XMLEntityResolver inlineSchemaEntityResolver)
- {
- ValidateErrorHandler errorHandler = new ValidateErrorHandler();
- errorHandler.getErrorMessages().clear();
- try
- {
- XMLGrammarPreparser grammarPreparser = new XMLGrammarPreparser();
- XMLGrammarPool grammarPool = new XMLGrammarPoolImpl();
- grammarPreparser.setGrammarPool(grammarPool);
-
- grammarPreparser.setErrorHandler(errorHandler);
- if (entityResolver != null)
- {
- grammarPreparser.setEntityResolver(entityResolver);
- }
-
- try
- {
- XMLInputSource is = null;
- // this allows support for the inline schema in WSDL documents
- if (inlineXSD)
- {
-
- Reader reader = new StringReader(schema);
- is = new XMLInputSource(null,filelocation,filelocation,reader,null);
-
- ((InlineXSDResolver)inlineSchemaEntityResolver).addReferringSchema(is,targetNamespace);
-
- }
- // get the input source for an external schema file
- else
- {
- is = new XMLInputSource(null,schema,schema);
- }
-
- grammarPreparser.registerPreparser(XMLGrammarDescription.XML_SCHEMA,null/*schemaLoader*/);
- grammarPreparser.getLoader(XMLGrammarDescription.XML_SCHEMA);
-
- XSGrammar grammar = (XSGrammar)grammarPreparser.preparseGrammar(XMLGrammarDescription.XML_SCHEMA,is);
- xsModel = grammar.toXSModel();
- }
- catch (Exception e)
- {
- //parser will return null pointer exception if the document is structurally invalid
- errors.add("Schema is structurally invalid.");
- }
-
- errors.addAll(errorHandler.getErrorMessages());
- }
- catch (Exception e)
- {
- System.out.println(e);
- }
- if (errors.isEmpty())
- {
- isValidXSD = true;
- }
- }
-
- /**
- * Returns the XSModel created.
- *
- * @return The XSModel created.
- */
-
- public XSModel getXSModel()
- {
- return xsModel;
- }
- /**
- * Returns true if the schema is valid, false otherwise.
- *
- * @return True if the schema is valid, false otherwise.
- */
- public boolean isValid()
- {
- return isValidXSD;
- }
-
- /**
- * Return the error list.
- *
- * @return A list of error from the schema.
- */
- public List getErrors()
- {
- return errors;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLConvertor.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLConvertor.java
deleted file mode 100644
index 82b134cbc..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLConvertor.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- *
- * 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.xml;
-
-import java.io.FileOutputStream;
-
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
-
-/**
- * This class converts a XML document using an XSL file.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class XMLConvertor
-{
-
- /**
- * Transforms an XML document using an XSL file.
- * @param args arguments for main.
- */
- public static void main(String[] args)
- {
- try
- {
- if (args.length < 3)
- {
- System.out.println(
- "Usage: XMLConvertor <xslFile> <inXMLFile> <outFile>");
- }
-
- else
- {
- // Get transformer
- Transformer transformer =
- TransformerFactory.newInstance().newTransformer(
- new StreamSource(args[0]));
-
- // Transform the XML document using the specificed XSL file
- transformer.transform(
- new StreamSource(args[1]),
- new StreamResult(new FileOutputStream(args[2])));
-
- // Display results
- System.out.println(
- "Created " + args[2] + " from " + args[0] + " and " + args[1] + ".");
- }
- }
-
- catch (Exception e)
- {
- e.printStackTrace();
- }
-
- System.exit(0);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLDocumentCache.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLDocumentCache.java
deleted file mode 100644
index 41087524a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLDocumentCache.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * 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.xml;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * This class creates a HashMap to cache XML documents.
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class XMLDocumentCache extends HashMap
-{
- static XMLDocumentCache instance;
-
- /**
- * Comment for <code>serialVersionUID</code>
- */
- private static final long serialVersionUID = 3834028043709657401L;
-
- /**
- * Constructor for XMLDocumentCache.
- * @param initialCapacity the initial capacity.
- * @param loadFactor the load factor.
- */
- public XMLDocumentCache(int initialCapacity, float loadFactor)
- {
- super(initialCapacity, loadFactor);
- instance = this;
- }
-
- /**
- * Constructor for XMLDocumentCache.
- * @param initialCapacity the initial capacity.
- */
- public XMLDocumentCache(int initialCapacity)
- {
- super(initialCapacity);
- instance = this;
- }
-
- /**
- * Constructor for XMLDocumentCache.
- */
- public XMLDocumentCache()
- {
- super();
- instance = this;
- }
-
- /**
- * Constructor for XMLDocumentCache.
- * @param t the map whose mappings are to be placed in this map.
- */
- public XMLDocumentCache(Map t)
- {
- super(t);
- instance = this;
- }
-
- public static XMLDocumentCache instance()
- {
- if (instance == null)
- instance = new XMLDocumentCache();
-
- return instance;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLDocumentCacheUser.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLDocumentCacheUser.java
deleted file mode 100644
index a50f07e31..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLDocumentCacheUser.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * 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.xml;
-
-import java.net.URL;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.w3c.dom.Document;
-
-/**
- * This is an abstract class that takes advantage of cached XML documents.
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-
-public abstract class XMLDocumentCacheUser
-{
- /**
- * Get document from cache.
- * @see #setDocument
- *
- * @param key a String.
- * @return a Document object corresponding to the key.
- */
- protected Document getDocument(String key)
- {
- return (Document) XMLDocumentCache.instance().get(key);
- }
-
- /**
- * Put document with corresponding key in cache.
- * @see #getDocument
- *
- * @param key a String used as a key to identify specified document.
- * @param document a document.
- */
- protected void setDocument(String key, Object document)
- {
- XMLDocumentCache.instance().put(key, document);
- }
-
- /**
- * Get document list.
- * @return a XMLDocumentCache object representing the document list value.
- */
- public XMLDocumentCache getDocumentList()
- {
- return XMLDocumentCache.instance();
- }
-
- /**
- * Parse XML document.
- * @param urlString a String locating the XML document.
- * @param baseURI a base url to assist in locating the XML document.
- * @return a Document object.
- * @throws WSIException if document cannot be parsed.
- */
- public Document parseXMLDocumentURL(String urlString, String baseURI)
- throws WSIException
- {
- return parseXMLDocumentURL(urlString, baseURI, null);
- }
-
- /**
- * Parse XML document and validate with a schema document.
- * @param urlString a String locating the XML document.
- * @param baseURI a base url to assist in locating the XML document.
- * @param schema a String identifying related schema document.
- * @return a Document object.
- * @throws WSIException if document cannot be parsed.
- */
- public Document parseXMLDocumentURL(
- String urlString,
- String baseURI,
- String schema)
- throws WSIException
- {
- Document document = null;
-
- try
- {
- // Create URL reference to document
- URL url = XMLUtils.createURL(urlString, baseURI);
-
- // TODO: Add schema to the xml document cache, so that you can detect when it has already
- // been parsed using a specific schema definition
-
- // If the document is not in the cache, then read and parse it
- if ((document = getDocument(urlString)) == null)
- {
- document = XMLUtils.parseXMLDocumentURL(url, schema);
- // Add document to cache
- setDocument(urlString, document);
- }
- }
-
- catch (WSIException e)
- {
- throw e;
- }
-
- catch (Exception e)
- {
- throw new WSIException(e.getMessage(), e);
- }
-
- return document;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLTags.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLTags.java
deleted file mode 100644
index e12d04f0c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLTags.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * 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.xml;
-
-import javax.xml.namespace.QName;
-
-/**
- * This class contains information on XML tags.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public interface XMLTags
-{
- /**
- * Namespaces.
- */
- public final static String NS_URI_XSI =
- "http://www.w3.org/2001/XMLSchema-instance";
- public final static String NS_URI_XMLNS = "http://www.w3.org/2000/xmlns/";
- public final static String NS_URI_XSD = "http://www.w3.org/2001/XMLSchema";
- public final static String XSD_SCHEMALOCATION =
- "http://www.w3.org/2001/XMLSchema.xsd";
-
- /**
- * Qualified names of XSD elements and attributes.
- */
- public final static QName ELEM_XSD_ANNOTATION =
- new QName(NS_URI_XSD, "annotation");
- public final static QName ELEM_XSD_IMPORT = new QName(NS_URI_XSD, "import");
- public final static QName ELEM_XSD_INCLUDE = new QName(NS_URI_XSD, "include");
- public final static QName ELEM_XSD_SCHEMA = new QName(NS_URI_XSD, "schema");
- public final static QName ELEM_XSD_ELEMENT = new QName(NS_URI_XSD, "element");
- public final static QName ELEM_XSD_ATTRIBUTE =
- new QName(NS_URI_XSD, "attribute");
- public final static QName ELEM_XSD_COMPLEXTYPE =
- new QName(NS_URI_XSD, "complexType");
-
- public final static QName ATTR_XSI_TYPE = new QName(NS_URI_XSI, "type");
- public final static QName ATTR_XSI_NIL = new QName(NS_URI_XSI, "nil");
-
- public final static QName ATTR_XSD_NAME = new QName(NS_URI_XSD, "name");
- public final static QName ATTR_XSD_TYPE = new QName(NS_URI_XSD, "type");
- public final static QName ATTR_XSD_BASE = new QName(NS_URI_XSD, "base");
- public final static QName ATTR_XSD_NAMESPACE =
- new QName(NS_URI_XSD, "namespace");
- public final static QName ATTR_XSD_SCHEMALOCATION =
- new QName(NS_URI_XSD, "schemaLocation");
- public final static QName ATTR_XSD_TARGETNAMESPACE =
- new QName(NS_URI_XSD, "targetNamespace");
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLTraversal.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLTraversal.java
deleted file mode 100644
index f6233f0db..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLTraversal.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * 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.xml;
-
-import org.w3c.dom.Attr;
-import org.w3c.dom.CDATASection;
-import org.w3c.dom.Comment;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.Entity;
-import org.w3c.dom.EntityReference;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.Notation;
-import org.w3c.dom.ProcessingInstruction;
-import org.w3c.dom.Text;
-
-/**
- * We don't have access to the node source code, so this does
- * our double-dispatch the hard way.
- */
-public abstract class XMLTraversal extends XMLVisitor
-{
- /**
- * Returning false from action would terminates traversal.
- * However, this always returns true. -- a no-op.
- * @param n - an XML node.
- * @return always true.
- */
- public boolean action(Node n)
- {
- return true;
- }
-
- public void visit(CDATASection s)
- {
- action(s);
- }
-
- public void visit(Document e)
- {
- if (action(e))
- {
- // This does visit DocumentType, which is considered a child Node.
- for (Node n = e.getFirstChild(); n != null; n = n.getNextSibling())
- {
- doVisit(n);
- }
- }
- }
-
- public void visit(DocumentType type)
- {
- if (action(type))
- {
- visit(type.getEntities());
- visit(type.getNotations());
- }
- }
-
- public void visit(Attr e)
- {
- action(e);
- }
-
- public void visit(Element node)
- {
- if (action(node))
- {
- visit(node.getAttributes());
- for (Node n = node.getFirstChild(); n != null; n = n.getNextSibling())
- {
- doVisit(n);
- }
- }
- }
-
- public void visit(Comment e)
- {
- action(e);
- }
-
- public void visit(Text e)
- {
- action(e);
- }
-
- public void visit(EntityReference e)
- {
- action(e);
- }
-
- public void visit(Entity e)
- {
- action(e);
- }
-
- public void visit(Notation n)
- {
- action(n);
- }
-
- public void visit(ProcessingInstruction i)
- {
- action(i);
- }
-
- public void visit(NamedNodeMap map)
- {
- if (map != null)
- {
- for (int i = 0; i < map.getLength(); ++i)
- {
- doVisit(map.item(i));
- }
- }
- }
-}
-
-// END OF FILE
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLUtils.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLUtils.java
deleted file mode 100644
index 137833d93..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLUtils.java
+++ /dev/null
@@ -1,1528 +0,0 @@
-/*******************************************************************************
- * 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.xml;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URL;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import javax.xml.namespace.QName;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.apache.xml.serialize.OutputFormat;
-import org.apache.xml.serialize.XMLSerializer;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.util.NullUtil;
-import org.w3c.dom.Attr;
-import org.w3c.dom.CharacterData;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.XMLReader;
-
-import com.ibm.wsdl.util.StringUtils;
-
-/**
- * Set of XML related utilities.
- *
- * @version 1.0.1
- * @author Peter Brittenham
- */
-public final class XMLUtils
-{
- /**
- * Some sax features that need to be set.
- */
- public static final String FEATURE_NAMESPACE_PREFIXES = "http://xml.org/sax/features/namespace-prefixes";
- public static final String FEATURE_NAMESPACES = "http://xml.org/sax/features/namespaces";
- public static final String FEATURE_VALIDATION_SCHEMA = "http://apache.org/xml/features/validation/schema";
- public static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage";
- public static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema";
- public static final String W3C_SOAP_12_SCHEMA = "http://schemas.xmlsoap.org/soap/envelope/";
- public static final String JAXP_SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource";
- public static final String PROPERTY_EXTERNAL_SCHEMA_LOCATION = "http://apache.org/xml/properties/schema/external-schemaLocation";
-
- public static final String SOAP_ELEM_ENVELOPE = "Envelope";
- public static final String SOAP_ELEM_HEADER = "Header";
- public static final String SOAP_ELEM_BODY = "Body";
- public static final String SOAP_ELEM_FAULT = "Fault";
- public static final String SOAP_ELEM_FAULT_CODE = "faultcode";
- public static final String SOAP_ELEM_FAULT_STRING = "faultstring";
- public static final String SOAP_ELEM_FAULT_DETAIL = "detail";
- public static final String SOAP_ELEM_FAULT_ACTOR = "faultactor";
- public static final String SOAP_ATTR_MUST_UNDERSTAND = "mustUnderstand";
- public static final String SOAP_ATTR_ACTOR = "actor";
-
- /**
- * Get XMLReader.
- *
- * @return the XMLReader value
- * @throws WSIException if there are problems getting the XMLReader
- * implementation.
- */
- public static XMLReader getXMLReader() throws WSIException {
- XMLReader xmlReader = null;
-
- try
- {
- xmlReader = (new org.apache.xerces.jaxp.SAXParserFactoryImpl())
- .newSAXParser().getXMLReader();
-
- // Set namespace aware
- xmlReader.setFeature(FEATURE_NAMESPACE_PREFIXES, true);
- xmlReader.setFeature(FEATURE_NAMESPACES, true);
- }
-
- catch (Exception e)
- {
- throw new WSIException("Could not get XMLReader implementation.", e);
- }
-
- return xmlReader;
- }
-
- /**
- * Parse text string as an XML document and return the document element.
- *
- * @param text XML document text.
- * @param validate true if the document will be validate, false otherwise
- * @return a Document object.
- * @throws WSIException if there is a problem parsing the XML document.
- */
- public static Document parseXML(String text, boolean validate)
- throws WSIException {
- return parseXML(new StringReader(text), validate);
- }
-
- /**
- * Parse text string as an XML document and return the document element.
- *
- * @param text XML document text.
- * @return a Document object.
- * @throws WSIException if there is a problem parsing the XML document.
- */
- public static Document parseXML(String text) throws WSIException {
- return parseXML(new StringReader(text));
- }
-
- /**
- * Parse the XML document and return the document element.
- *
- * @param uri the location of the XML document.
- * @return a Document object.
- * @throws WSIException if there is a problem parsing the XML document.
- * @throws IOException if an I/O exception of some sort has occurred.
- */
- public static Document parseXMLDocument(String uri)
- throws WSIException, IOException
- {
- return parseXMLDocument(uri, null);
- }
-
- /**
- * Parse the XML document and return the document element.
- *
- * @param uri the location of the XML document.
- * @param schema a String identifying related schema document.
- * @return a Document object.
- * @throws WSIException if there is a problem parsing the XML document.
- * @throws IOException if an I/O exception of some sort has occurred.
- */
- public static Document parseXMLDocument(String uri, String schema)
- throws WSIException, IOException
- {
- URL url = StringUtils.getURL(null, uri);
- InputStream inputStream = (InputStream)url.getContent();
- InputSource inputSource = new InputSource(inputStream);
- inputSource.setSystemId(url.toString());
-
- if (schema == null)
- return parseXML(inputSource, false);
- else
- return parseXML(inputSource, schema);
- }
-
- /**
- * Parses an XML document from a reader and returns the document object.
- *
- * @param url a String locating the XML document.
- * @param schema a String identifying related schema document.
- * @param baseURI a base url to assist in locating the XML document.
- * @return Document.
- * @throws WSIException if there is a problem parsing the XML document.
- */
- public static Document parseXMLDocumentURL(String url, String schema,
- String baseURI) throws WSIException {
- try
- {
- parseXMLDocumentURL(createURL(url, baseURI), schema);
- }
-
- catch (Exception e)
- {
- throw new WSIException(e.getMessage(), e);
- }
-
- return parseXMLDocumentURL(url, schema);
- }
-
- /**
- * Parses an XML document from a reader and returns the document object.
- *
- * @param url a URL object identifying the XML document.
- * @param schema a String identifying related schema document.
- * @return Document.
- * @throws WSIException if there is a problem parsing the XML document.
- */
- public static Document parseXMLDocumentURL(URL url, String schema)
- throws WSIException {
- try
- {
- InputStream inputStream = (InputStream)url.getContent();
- InputSource inputSource = new InputSource(inputStream);
- inputSource.setSystemId(url.toString());
-
- Document doc = null;
-
- if (schema == null)
- doc = parseXML(inputSource);
- else
- doc = parseXML(inputSource, schema);
-
- inputStream.close();
- return doc;
- }
-
- catch (WSIException e)
- {
- throw e;
- }
-
- catch (Throwable t)
- {
- throw new WSIException(t.getMessage());
- }
- }
-
- /**
- * Parses an XML document from a reader and returns the document object.
- *
- * @param urlString a String locating the XML document.
- * @param baseURI a base url to assist in locating the XML document.
- * @return Document object.
- * @throws WSIException if there is a problem parsing the XML document.
- */
- public static Document parseXMLDocumentURL(String urlString, String baseURI)
- throws WSIException {
- Document document = null;
-
- try
- {
- URL url = createURL(urlString, baseURI);
-
- document = parseXMLDocumentURL(url);
- }
-
- catch (WSIException we)
- {
- throw we;
- }
-
- catch (Exception e)
- {
- throw new WSIException(e.getMessage(), e);
- }
-
- return document;
- }
-
- /**
- * Parses an XML document from a reader and returns the document object.
- *
- * @param url a URL object identifying the XML document.
- * @return Document.
- * @throws WSIException if there is a problem parsing the XML document.
- */
- public static Document parseXMLDocumentURL(URL url) throws WSIException {
- Document document = null;
-
- try
- {
- Reader reader = new InputStreamReader(url.openStream());
- InputSource source = new InputSource(reader);
- source.setSystemId(url.toString());
- document = parseXML(source);
-
- reader.close();
- }
-
- catch (Exception e)
- {
- throw new WSIException(e.getMessage(), e);
- }
-
- return document;
- }
-
- /**
- * Parse an XML document from a reader and return the document object.
- *
- * @param reader a Reader object.
- * @param validate true if the document will be validate, false otherwise
- * @return a Document object.
- * @throws WSIException if there is a problem parsing the XML document.
- */
- public static Document parseXML(InputSource source, boolean validate)
- throws WSIException {
- Document doc = null;
- ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());
-
- // Get the document factory
- DocumentBuilderFactory factory = new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
-
- // Set namespace aware, but for now do not validate
- factory.setNamespaceAware(true);
- factory.setIgnoringElementContentWhitespace(true);
-
- // ADD: This should be set to true when we have access to the schema
- // document
- factory.setValidating(false);
-
- // Parse the document
- DocumentBuilder builder = factory.newDocumentBuilder();
- doc = builder.parse(source);
- // workaround for compatibility Xerces 2.2.1 with Xerces 2.6.2,
- // Xerces 2.6.2 supported XML 1.1 but WSI-tool and Xerces 2.2.1
- // supported only XML 1.0
- if (doc instanceof org.apache.xerces.dom.DocumentImpl)
- {
- if (((org.apache.xerces.dom.DocumentImpl) doc).getXmlVersion().equals(
- "1.1"))
- {
- throw new WSIException("Fatal Error: XML version &quot;1.1&quot; "
- + "is not supported, only XML 1.0 is supported.");
- }
- }
- }
- catch (Exception e)
- {
- throw new WSIException("Could not parse XML document.", e);
- }
- finally
- {
- Thread.currentThread().setContextClassLoader(currentLoader);
- }
-
- // Return document
- return doc;
- }
-
- /**
- * Parse an XML document from a reader and return the document object.
- *
- * @param reader a Reader object.
- * @param validate true if the document will be validate, false otherwise
- * @return a Document object.
- * @throws WSIException if there is a problem parsing the XML document.
- */
- public static Document parseXML(Reader reader, boolean validate)
- throws WSIException {
- Document doc = null;
- ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());
-
- // Create input source
- InputSource inputSource = new InputSource(reader);
-
- // Get the document factory
- DocumentBuilderFactory factory = new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
-
- // Set namespace aware, but for now do not validate
- factory.setNamespaceAware(true);
- factory.setIgnoringElementContentWhitespace(true);
-
- // ADD: This should be set to true when we have access to the schema
- // document
- factory.setValidating(false);
-
- // Parse the document
- DocumentBuilder builder = factory.newDocumentBuilder();
- doc = builder.parse(inputSource);
- // workaround for compatibility Xerces 2.2.1 with Xerces 2.6.2,
- // Xerces 2.6.2 supported XML 1.1 but WSI-tool and Xerces 2.2.1
- // supported only XML 1.0
- if (doc instanceof org.apache.xerces.dom.DocumentImpl)
- {
- if (((org.apache.xerces.dom.DocumentImpl) doc).getXmlVersion().equals(
- "1.1"))
- {
- throw new WSIException("Fatal Error: XML version &quot;1.1&quot; "
- + "is not supported, only XML 1.0 is supported.");
- }
- }
- }
- catch (Exception e)
- {
- throw new WSIException("Could not parse XML document.", e);
- }
- finally
- {
- Thread.currentThread().setContextClassLoader(currentLoader);
- }
-
- // Return document
- return doc;
- }
-
- /**
- * Parse an XML document from a input source and return the document object.
- *
- * @param source a InputSource object.
- * @return a Document object.
- * @throws WSIException if there is a problem parsing the XML document.
- */
- public static Document parseXML(Reader reader) throws WSIException {
- return parseXML(reader, false);
- }
-
- /**
- * Parse an XML document from a input source and return the document object.
- *
- * @param source a InputSource object.
- * @return a Document object.
- * @throws WSIException if there is a problem parsing the XML document.
- */
- public static Document parseXML(InputSource source) throws WSIException {
- return parseXML(source, false);
- }
-
- /**
- * Parse text string as an XML document and return the document element.
- *
- * @param text XML document text.
- * @param schema a String identifying related schema document.
- * @return a Document object.
- * @throws WSIException if there is a problem parsing the XML document.
- */
- public static Document parseXML(String text, String schema)
- throws WSIException {
- return parseXML(new StringReader(text), schema);
- }
-
- /**
- * Parse text string as an XML document and return the document element.
- *
- * @param text XML document text.
- * @param schemas a collection of related schema documents.
- * @return a Document object.
- * @throws WSIException if there is a problem parsing the XML document.
- */
- public static Document parseXML(String text, Collection schemas)
- throws WSIException {
- return parseXML(new StringReader(text), schemas);
- }
-
-
- /**
- * Parse the XML document and return the document element.
- *
- * @param text XML document text.
- * @param schemaString a StringReader object.
- * @return a Document object.
- * @throws WSIException if there is a problem parsing the XML document.
- * @throws IOException if an I/O exception of some sort has occurred.
- */
- public static Document parseXML(String text, StringReader schemaString)
- throws WSIException, IOException {
- return parseXML(new StringReader(text), schemaString);
- }
-
- /**
- * Parse the XML document and return the document element.
- *
- * @param reader a Reader object.
- * @param schema a String identifying related schema document.
- * @return a Document object.
- * @throws WSIException if there is a problem parsing the XML document.
- */
- public static Document parseXML(Reader reader, String schema)
- throws WSIException {
- Document doc = null;
- ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());
- // Create input source
- InputSource inputSource = new InputSource(reader);
-
- // Get the document factory
- DocumentBuilderFactory factory = new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
-
- // Set namespace aware, but for now do not validate
- factory.setNamespaceAware(true);
- factory.setIgnoringElementContentWhitespace(true);
-
- try
- {
- factory.setValidating(false);
- factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
- }
- catch (IllegalArgumentException e)
- {
- String errMessage = "Error: JAXP DocumentBuilderFactory attribute not recognized: "
- + JAXP_SCHEMA_LANGUAGE
- + "\n"
- + "Check to see if parser conforms to JAXP 1.2 spec.";
- throw new WSIException(errMessage, e);
- }
- factory.setAttribute(JAXP_SCHEMA_SOURCE, new InputSource(schema));
-
- // Parse the document
- DocumentBuilder builder = factory.newDocumentBuilder();
- builder.setErrorHandler(new ErrHandler());
- doc = builder.parse(inputSource);
-
- // workaround for compatibility Xerces 2.2.1 with Xerces 2.6.2,
- // Xerces 2.6.2 supported XML 1.1 but WSI-tool and Xerces 2.2.1
- // supported only XML 1.0
- if (doc instanceof org.apache.xerces.dom.DocumentImpl)
- {
- if (((org.apache.xerces.dom.DocumentImpl) doc).getXmlVersion().equals("1.1"))
- {
- throw new WSIException("Fatal Error: XML version &quot;1.1&quot; "
- + "is not supported, only XML 1.0 is supported.");
- }
- }
- }
- catch (Exception e)
- {
- throw new WSIException("Could not parse XML document.", e);
- }
- finally
- {
- Thread.currentThread().setContextClassLoader(currentLoader);
- }
- // Return document
- return doc;
- }
-
- /**
- * Parse the XML document and return the document element.
- *
- * @param reader a Reader object.
- * @param schema a String identifying related schema document.
- * @return a Document object.
- * @throws WSIException if there is a problem parsing the XML document.
- */
- public static Document parseXML(InputSource source, String schema)
- throws WSIException {
- Document doc = null;
- ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());
- // Get the document factory
- DocumentBuilderFactory factory = new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
-
- // Set namespace aware, but for now do not validate
- factory.setNamespaceAware(true);
- factory.setIgnoringElementContentWhitespace(true);
-
- factory.setValidating(false);
- try
- {
- factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
- }
-
- catch (IllegalArgumentException e)
- {
- String errMessage = "Error: JAXP DocumentBuilderFactory attribute not recognized: "
- + JAXP_SCHEMA_LANGUAGE
- + "\n"
- + "Check to see if parser conforms to JAXP 1.2 spec.";
- throw new WSIException(errMessage, e);
- }
- factory.setAttribute(JAXP_SCHEMA_SOURCE, new InputSource(schema));
-
- // Parse the document
- DocumentBuilder builder = factory.newDocumentBuilder();
- builder.setErrorHandler(new ErrHandler());
- doc = builder.parse(source);
-
- // workaround for compatibility Xerces 2.2.1 with Xerces 2.6.2,
- // Xerces 2.6.2 supported XML 1.1 but WSI-tool and Xerces 2.2.1
- // supported only XML 1.0
- if (doc instanceof org.apache.xerces.dom.DocumentImpl)
- {
- if (((org.apache.xerces.dom.DocumentImpl) doc).getXmlVersion().equals(
- "1.1"))
- {
- throw new WSIException("Fatal Error: XML version &quot;1.1&quot; "
- + "is not supported, only XML 1.0 is supported.");
- }
- }
- }
- catch (Exception e)
- {
- throw new WSIException("Could not parse XML document.", e);
- }
- finally
- {
- Thread.currentThread().setContextClassLoader(currentLoader);
- }
-
- // Return document
- return doc;
-
- }
-
- /**
- * Parse the XML document and return the document element.
- *
- * @param filename a Reader object.
- * @param schemaString a StringReader object.
- * @return a Document object.
- * @throws WSIException if there is a problem parsing the XML document.
- */
- public static Document parseXML(Reader filename, StringReader schemaString)
- throws WSIException {
-
- Document doc = null;
- ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());
-
- // Create input source
- InputSource inputSource = new InputSource(filename);
-
- // Get the document factory
- DocumentBuilderFactory factory = new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
-
- // Set namespace aware, but for now do not validate
- factory.setNamespaceAware(true);
- factory.setIgnoringElementContentWhitespace(true);
-
- factory.setValidating(false);
- try
- {
- factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
- } catch (IllegalArgumentException e)
- {
- String errMessage = "Error: JAXP DocumentBuilderFactory attribute not recognized: "
- + JAXP_SCHEMA_LANGUAGE
- + "\n"
- + "Check to see if parser conforms to JAXP 1.2 spec.";
- throw new WSIException(errMessage, e);
- }
- factory.setAttribute(JAXP_SCHEMA_SOURCE, new InputSource(schemaString));
-
- // Parse the document
- DocumentBuilder builder = factory.newDocumentBuilder();
- builder.setErrorHandler(new ErrHandler());
- doc = builder.parse(inputSource);
- }
- catch (Exception e)
- {
- throw new WSIException("Could not parse XML document.", e);
- }
- finally
- {
- Thread.currentThread().setContextClassLoader(currentLoader);
- }
-
- // Return document
- return doc;
-
- }
-
- /**
- * Parse the XML document and return the document element.
- *
- * @param filename a Reader object
- * @param schemaStrings a collection of related schema documents.
- * @return a Document object.
- * @throws WSIException if there is a problem parsing the XML document.
- */
- public static Document parseXML(Reader filename, Collection schemaStrings)
- throws WSIException {
-
- Document doc = null;
- ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());
-
- // Create input source
- InputSource inputSource = new InputSource(filename);
-
- // Get the document factory
- DocumentBuilderFactory factory = new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
-
- // Set namespace aware, but for now do not validate
- factory.setNamespaceAware(true);
- factory.setIgnoringElementContentWhitespace(true);
-
- factory.setValidating(false);
- try
- {
- factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
- } catch (IllegalArgumentException e)
- {
- String errMessage = "Error: JAXP DocumentBuilderFactory attribute not recognized: "
- + JAXP_SCHEMA_LANGUAGE
- + "\n"
- + "Check to see if parser conforms to JAXP 1.2 spec.";
- throw new WSIException(errMessage, e);
- }
- // convert schema strings to array of InputSources
- Iterator i = schemaStrings.iterator();
- Vector readers = new Vector();
- while (i.hasNext())
- {
- String nextSchema = (String) i.next();
- readers.add(new InputSource(new StringReader(nextSchema)));
- }
- InputSource[] inputSources = (InputSource[]) readers
- .toArray(new InputSource[]{});
- // pass an array of schema strings (each of which contains a schema)
- factory.setAttribute(JAXP_SCHEMA_SOURCE, inputSources);
-
- // Parse the document
- DocumentBuilder builder = factory.newDocumentBuilder();
- builder.setErrorHandler(new ErrHandler());
- doc = builder.parse(inputSource);
- }
- catch (Exception e)
- {
- throw new WSIException("Could not parse XML document.", e);
- }
- finally
- {
- Thread.currentThread().setContextClassLoader(currentLoader);
- }
-
- // Return document
- return doc;
-
- }
-
- /**
- * Get attribute value with the given name defined for the specified element.
- *
- * @param element an Element object.
- * @param attrName a name of an attribute
- * @return the attribute value.
- */
- public static String getAttributeValue(Element element, String attrName) {
- String attrValue = null;
- Attr attr = null;
-
- // Get the attribute using its name
- if ((attr = element.getAttributeNode(attrName)) != null)
- {
- attrValue = attr.getValue().trim();
- }
-
- // Return attribute value
- return attrValue;
- }
-
- /**
- * Get attribute value.
- *
- * @param element an Element object.
- * @param attrName a name of an attribute
- * @param defaultValue a default value for the specified attribute.
- * @return the attribute value if found. Otherwise the specified default
- * value.
- */
- public static String getAttributeValue(Element element, String attrName,
- String defaultValue) {
- String returnValue = defaultValue;
- String attrValue = null;
-
- if ((attrValue = getAttributeValue(element, attrName)) != null)
- returnValue = attrValue;
-
- return returnValue;
- }
-
- /**
- * Get attribute value.
- *
- * @param element an Element object.
- * @param namespace a namespace.
- * @param attrName a name of an attribute
- * @return the attribute value.
- */
- public static String getAttributeValueNS(Element element, String namespace,
- String attrName) {
- String attrValue = null;
- Attr attr = null;
-
- // Get the attribute using its name
- if ((attr = element.getAttributeNodeNS(namespace, attrName)) != null)
- {
- attrValue = attr.getValue().trim();
- }
-
- // Return attribute value
- return attrValue;
- }
-
- /**
- * Get the first child element from the input elment.
- *
- * @param element an Element object.
- * @return the firstchild element.
- */
- public static Element getFirstChild(Element element) {
- // Return the first child element
- return findNextSibling(element.getFirstChild());
- }
-
- /**
- * Get the next sibling element.
- *
- * @param element - an Element object.
- * @return the next sibling element.
- */
- public static Element getNextSibling(Element element) {
- // Return next sibling element
- return findNextSibling(element.getNextSibling());
- }
-
- /**
- * Find the next sibling element.
- *
- * @param startNode XML start node.
- * @return the next sibling element.
- */
- protected static Element findNextSibling(Node startNode) {
- Node node = null;
- Element returnElement = null;
-
- // Find the next sibling element
- for (node = startNode; node != null && returnElement == null; node = node
- .getNextSibling())
- {
- // If this node is an element node, then return it
- if (node.getNodeType() == Node.ELEMENT_NODE)
- {
- returnElement = (Element) node;
- }
- }
-
- // Return next sibling element
- return (Element) returnElement;
- }
-
- /**
- * Find the previous sibling element.
- *
- * @param startNode XML start node.
- * @return the previous sibling element.
- */
- public static Element findPreviousSibling(Node startNode) {
- if (startNode == null)
- return null;
-
- while (startNode != null)
- {
- startNode = startNode.getPreviousSibling();
- if (startNode == null)
- return null;
- if (startNode.getNodeType() == Node.ELEMENT_NODE)
- return (Element) startNode;
- }
-
- return null;
- }
-
- /**
- * Get the text that is associated with this element.
- *
- * @param element an Element object.
- * @return the text that is associated with this element.
- */
- public static String getText(Element element) {
- String text = null;
-
- // Get first child element
- Node node = element.getFirstChild();
-
- // NodeList nodeList = element.getChildNodes();
-
- // int length = nodeList.getLength();
-
- // Process while there are nodes and the text hasn't been found
- while ((node != null) && (text == null))
- {
- // If a text node or cdata section is found, then get text
- if ((node.getNodeType() == Node.TEXT_NODE)
- || (node.getNodeType() == Node.CDATA_SECTION_NODE))
- {
- text = ((CharacterData) node).getData();
- }
-
- // Get next sibling
- node = node.getNextSibling();
- }
-
- if (text != null)
- text = text.trim();
-
- return text;
- }
-
- /**
- * Determine if an element is represented by the QName.
- *
- * @param qname a QName object.
- * @param element an Element object.
- * @return true if an element is represented by the QName.
- */
- public static boolean equals(QName qname, Element element) {
- boolean equals = false;
-
- // If both the namespace URI and local name are the same, then they are
- // equal
- if ((qname.getNamespaceURI().equals(element.getNamespaceURI()))
- && (qname.getLocalPart().equals(element.getLocalName())))
- {
- equals = true;
- }
-
- return equals;
- }
-
- /**
- * XML encode a text string.
- *
- * @param text - a String.
- * @return an XML encoded text string.
- */
- public static String xmlEscapedString(String text)
- {
- if (text == null) return text;
- else
- {
- StringBuffer sb = new StringBuffer(text.length()*2);
- int size = text.length();
- for (int i=0; i<size; i++)
- {
- char c = text.charAt(i);
- switch (c)
- {
- case '<':
- sb.append("&lt;");
- break;
- case '>':
- sb.append("&gt;");
- break;
- case '&':
- sb.append("&amp;");
- break;
- case '"':
- sb.append("&quot;");
- break;
- case '\'':
- sb.append("&apos;");
- break;
- case '\r':
- sb.append("&#xd;");
- break;
- default:
- sb.append(c);
- }
- }
- return sb.toString();
- }
- }
-
- /**
- * XML encode a text string.
- *
- * @param text - a String.
- * @return an XML encoded text string.
- */
- public static String xmlRemoveEscapedString(String text)
- {
- if (text == null) return text;
- else
- {
- StringBuffer sb = new StringBuffer(text);
-
- int i = sb.indexOf("&#xd;");
- while(i != -1)
- {
- sb.replace(i, i+5, "\r");
- i = sb.indexOf("&#xd;");
- }
-
- i = sb.indexOf("&lt;");
- while(i != -1)
- {
- sb.replace(i, i+4, "<");
- i = sb.indexOf("&lt;");
- }
-
- i = sb.indexOf("&gt;");
- while(i != -1)
- {
- sb.replace(i, i+4, ">");
- i = sb.indexOf("&gt;");
- }
-
- i = sb.indexOf("&quot;");
- while(i != -1)
- {
- sb.replace(i, i+6, "\"");
- i = sb.indexOf("&quot;");
- }
-
- i = sb.indexOf("&apos;");
- while(i != -1)
- {
- sb.replace(i, i+6, "\'");
- i = sb.indexOf("&apos;");
- }
-
- i = sb.indexOf("&amp;");
- while(i != -1)
- {
- sb.replace(i, i+5, "&");
- i = sb.indexOf("&amp;");
- }
- return sb.toString();
- }
- }
- /**
- * Get the specified element from a parent element.
- *
- * @param elementName the element tag to serach for.
- * @param parentElement the parent element.
- * @return an element given the name and the parent element.
- */
- public static Element getElement(String elementName, Element parentElement) {
- Element returnElement = null;
- NodeList nl;
-
- // Get the list of elements
- if ((nl = parentElement.getElementsByTagName(elementName)) != null)
- {
- // Return first element found
- returnElement = (Element) nl.item(0);
- }
-
- // Return element
- return returnElement;
- }
-
- /**
- * Determine if this element matches specified local name in the specified
- * namespace.
- *
- * @param element an Element object.
- * @param namespaceURI a namespace.
- * @param localName a local name.
- * @return true if this element matches specified local name in the specified
- * namespace.
- */
- public static boolean isElement(Element element, String namespaceURI,
- String localName) {
- boolean isElement = false;
-
- if (element != null)
- {
- // Check is
- if (element.getNamespaceURI().equals(namespaceURI)
- && element.getLocalName().equals(localName))
- {
- isElement = true;
- }
- }
-
- return isElement;
- }
-
- /**
- * Determine if this element matches specified local name in the specified
- * namespace.
- *
- * @param element an Element object.
- * @param namespaceURIs a list of valid namespaces.
- * @param localName a local name.
- * @return true if this element matches specified local name in the specified
- * namespace.
- */
- public static boolean isElement(Element element, List namespaceURIs,
- String localName) {
- boolean isElement = false;
-
- if (element != null)
- {
- // Check is
- if (namespaceURIs.contains(element.getNamespaceURI())
- && element.getLocalName().equals(localName))
- {
- isElement = true;
- }
- }
-
- return isElement;
- }
-
- /**
- * Get element text as a boolean.
- *
- * @param element an Element object.
- * @param defaultValue a boolean to be used as a default value.
- * @return element text as a boolean value.
- */
- public static boolean getBooleanValue(Element element, boolean defaultValue) {
- boolean returnValue = defaultValue;
- String booleanValue = null;
-
- // Get value as a string
- if ((booleanValue = XMLUtils.getText(element)) != null)
- {
- returnValue = Boolean.valueOf(booleanValue).booleanValue();
- }
-
- // Return boolean
- return returnValue;
- }
-
- /**
- * Get attribute value as a boolean.
- *
- * @param element an Element object.
- * @param attrName a name of an attribute.
- * @param defaultValue a boolean to be used as a default value.
- * @return attribute value as a boolean.
- */
- public static boolean getBooleanValue(Element element, String attrName,
- boolean defaultValue) {
- boolean returnValue = defaultValue;
- String booleanValue = null;
-
- // Get value as a string
- if ((booleanValue = XMLUtils.getAttributeValue(element, attrName)) != null)
- {
- returnValue = Boolean.valueOf(booleanValue).booleanValue();
- }
-
- // Return boolean
- return returnValue;
- }
-
- /**
- * Create QName.
- *
- * @param qnameString a qualified name.
- * @return a QName object.
- */
- public static QName createQName(String qnameString) {
- QName qname = null;
-
- // Locate local part
- int index = qnameString.lastIndexOf(":");
-
- // Create new QName
- if (index != -1)
- {
- qname = new QName(qnameString.substring(0, index), qnameString
- .substring(index + 1));
- }
-
- else
- {
- qname = new QName(qnameString);
- }
-
- return qname;
- }
-
- /**
- * Error Handler
- */
- private static class ErrHandler implements ErrorHandler
- {
- /**
- * Warning
- */
- public void warning(SAXParseException spe) throws SAXException {
- String message = "Warning: " + spe.getMessage();
- throw new SAXException(message);
- }
-
- /**
- * Error
- */
- public void error(SAXParseException spe) throws SAXException {
- String message = "Error: " + spe.getMessage();
- throw new SAXException(message);
- }
-
- /**
- * Fatal Error
- */
- public void fatalError(SAXParseException spe) throws SAXException {
- String message = "Fatal Error: " + spe.getMessage();
- throw new SAXException(message);
- }
- }
-
- /**
- * Determine if the string is a NMTOKEN data type.
- *
- * @param text a string value.
- * @return true if the string is a NMTOKEN data type.
- */
- public static boolean isNmtoken(String text) {
- boolean nmtoken = true;
-
- // ADD: Need to find a utility function that does this or write it from
- // scratch
-
- return nmtoken;
- }
-
- /**
- * The method searches the first direct descendant element with the given
- * qname.
- *
- * @param parent parent DOM element.
- * @param elementName QName of the element to be searched.
- * @return DOM element if the required element found, and null otherwise.
- */
- static public Element findChildElement(Element parent, QName elementName) {
- if (parent == null)
- throw new IllegalArgumentException("Parent element can not be NULL");
- if (elementName == null)
- throw new IllegalArgumentException("Element name can not be NULL");
- if (elementName.getLocalPart() == null)
- throw new IllegalArgumentException(
- "Local part of the element name can not be NULL");
-
- Node n = parent.getFirstChild();
- String local = elementName.getLocalPart();
- String ns = elementName.getNamespaceURI();
- while (n != null)
- {
- if (Node.ELEMENT_NODE == n.getNodeType()
- && local.equals(n.getLocalName())
- && NullUtil.equals(ns, n.getNamespaceURI()))
- return (Element) n;
- n = n.getNextSibling();
- }
-
- return null;
- }
-
- /**
- * The method searches the first sibling element with the given qname.
- *
- * @param active DOM element.
- * @param elementName QName of the element to be searched.
- * @return DOM element if the required element found, and null otherwise.
- */
- static public Element findElement(Element active, QName elementName) {
- if (active == null)
- throw new IllegalArgumentException("Active element can not be NULL");
- if (elementName == null)
- throw new IllegalArgumentException("Element name can not be NULL");
- if (elementName.getLocalPart() == null)
- throw new IllegalArgumentException(
- "Local part of the element name can not be NULL");
-
- Node n = active.getNextSibling();
- String local = elementName.getLocalPart();
- String ns = elementName.getNamespaceURI();
- while (n != null)
- {
- if (Node.ELEMENT_NODE == n.getNodeType()
- && local.equals(n.getLocalName())
- && NullUtil.equals(ns, n.getNamespaceURI()))
- return (Element) n;
- n = n.getNextSibling();
- }
-
- return null;
- }
-
- /**
- * The method returns attribute node by the given qname.
- *
- * @param el owner element.
- * @param attributeName QName of the attribute node to be searched.
- * @return attribute node by the given qname.
- */
- static public Attr getAttribute(Element el, QName attributeName) {
- if (el == null)
- throw new IllegalArgumentException("Element can not be NULL");
- if (attributeName == null)
- throw new IllegalArgumentException("Attribute name can not be NULL");
- if (attributeName.getLocalPart() == null)
- throw new IllegalArgumentException(
- "Local part of the attribute name can not be NULL");
-
- attributeName.getNamespaceURI();
- attributeName.getLocalPart();
- Attr a = el.getAttributeNodeNS(attributeName.getNamespaceURI(),
- attributeName.getLocalPart());
- if (a == null)
- // try to get with null namespace
- a = el.getAttributeNodeNS(null, attributeName.getLocalPart());
- return a;
- }
-
- /**
- * The method compares node's name to the given qname.
- *
- * @param n a node.
- * @param name a QName object.
- * @return true if the node's name is the same as the given qname.
- */
- static public boolean equals(Node n, QName name) {
- if (n == null || name == null)
- return false;
- return (NullUtil.equals(name.getLocalPart(), n.getLocalName()) && NullUtil
- .equals(name.getNamespaceURI(), n.getNamespaceURI()));
- }
-
- /**
- * The method searches namespace URI for the given prefix. The searching
- * mechanism is implemented according to the "XML Namespaces resolution"
- * algorithm ('http://www.w3.org/TR/2003/WD-DOM-Level-3-
- * Core-20030226/namespaces-algorithms.html').
- *
- * @param n a node.
- * @param prefix a prefix.
- * @return the namespace URI for the given prefix.
- */
- static public String findNamespaceURI(Node n, String prefix) {
- if (prefix == null)
- return null;
-
- while (n != null)
- {
- if (prefix.equals(n.getPrefix()))
- return n.getNamespaceURI();
-
- if (Node.ELEMENT_NODE == n.getNodeType())
- {
- NamedNodeMap m = n.getAttributes();
- if (m != null)
- for (int i = 0; i < m.getLength(); i++)
- {
- Node a = m.item(i);
- if (WSITag.NS_URI_XMLNS.equals(a.getNamespaceURI())
- && prefix.equals(a.getLocalName()))
- return a.getNodeValue();
- }
- }
-
- n = n.getParentNode();
- }
-
- return null;
- }
-
- /**
- * Serializes element.
- *
- * @param n a DOM element.
- * @return the serialized element.
- */
- public static String serialize(Element n) {
- String value = null;
- try
- {
- StringWriter writer = new StringWriter();
- XMLSerializer s = new XMLSerializer(writer, new OutputFormat("xml",
- "UTF-8", true));
- s.serialize(n);
- value = writer.toString();
- writer.close();
- } catch (Throwable t)
- {
- // nothing
- value = "EXCEPTION : " + t.getMessage();
- }
-
- return value;
- }
-
- /**
- * The method return list of child elements.
- *
- * @param parent an org.w3c.dom.Element object.
- * @return list of child elements.
- */
- static public Vector getChildElements(Element parent) {
- if (parent == null)
- throw new IllegalArgumentException("Element can not be NULL");
-
- Vector vect = new Vector();
- Element elem = getFirstChild(parent);
- while (elem != null)
- {
- vect.add(elem);
- elem = getNextSibling(elem);
- }
- return vect;
- }
-
- /**
- * Serializes document.
- *
- * @param doc an org.w3c.dom.Document object.
- * @param writer a java.io.Writer object.
- * @throws Exception if unable to serialize the document.
- */
- public static void serializeDoc(Document doc, Writer writer)
- throws java.lang.Exception {
- XMLSerializer s = new XMLSerializer(writer, new OutputFormat("xml",
- "UTF-8", true));
- s.serialize(doc);
- }
-
- /**
- * Serealizes element.
- *
- * @param elem an org.w3c.dom.Element object.
- * @param writer a java.io.Writer object.
- * @throws Exception if unable to serialize the DOM element.
- */
- public static void serializeElement(Element elem, Writer writer)
- throws java.lang.Exception {
- XMLSerializer s = new XMLSerializer(writer, new OutputFormat("xml",
- "UTF-8", true));
- s.serialize(elem);
- }
-
- /**
- * Remove all elements from list without namespace.
- *
- * @param vect a list of elements.
- */
- public static void removeAllElementsWithoutNS(Vector vect) {
- for (int i = 0; i < vect.size();)
- {
- if (((Element) vect.get(i)).getNamespaceURI() == null
- || ((Element) vect.get(i)).getNamespaceURI().equals(""))
- vect.remove(i);
- else
- i++;
- }
- }
-
- /**
- * Create URL using base URI.
- *
- * @param url a URL string.
- * @param baseURI a base url string to assist in creating a URL.
- * @return newly created URL.
- * @throws MalformedURLException if a malformed URL has occurred.
- */
- public static URL createURL(String url, String baseURI)
- throws MalformedURLException {
- URL returnURL = null;
- URI uri = null;
- try
- {
- returnURL = new URL(url);
- uri = new URI(url);
- uri = uri.normalize();
- returnURL = new URL(uri.toString());
- }
-
- catch (Exception mue)
- {
- int i = baseURI.lastIndexOf('/');
- int j = baseURI.lastIndexOf('\\');
- if (j > i)
- i = j;
- try
- {
- uri = new URI(baseURI.substring(0, i + 1) + url);
- uri = uri.normalize();
- returnURL = uri.toURL();
- }
- catch (Exception e)
- {
- return new URL(baseURI.substring(0, i + 1) + url);
- }
- }
- return returnURL;
- }
-
- /**
- * Create URL using base URI.
- *
- * @param url a URL string.
- * @param baseURI a base url string to assist in creating a URL.
- * @return newly created URL string.
- * @throws MalformedURLException if a malformed URL has occurred.
- */
- public static String createURLString(String url, String baseURI)
- throws MalformedURLException {
- return createURL(url, baseURI).toExternalForm();
- }
-
- /**
- * This method is used only for unit testing.
- *
- * @param args arguments for main.
- */
- public static void main(String[] args) {
- try
- {
- System.out.println("Filename: " + args[0] + ", schema: " + args[1]);
- parseXMLDocument(args[0], args[1]);
- System.out.println("Done.");
- }
-
- catch (Exception e)
- {
- System.err.println(e.toString());
- }
-
- System.exit(0);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLVisitor.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLVisitor.java
deleted file mode 100644
index fc9ea3653..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLVisitor.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * 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.xml;
-
-import org.w3c.dom.Attr;
-import org.w3c.dom.CDATASection;
-import org.w3c.dom.Comment;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.Entity;
-import org.w3c.dom.EntityReference;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Notation;
-import org.w3c.dom.ProcessingInstruction;
-import org.w3c.dom.Text;
-
-/**
- * We don't have access to the node source code, so this does
- * our double-dispatch the hard way.
- */
-public class XMLVisitor
-{
- /**
- * Visit XML CDATASection node.
- * @param s an XML CDATASection node.
- */
- public void visit(CDATASection s)
- {
- }
-
- /**
- * Visit XML Document node.
- * @param e an XML Document node.
- */
- public void visit(Document e)
- {
- }
-
- /**
- * Visit XML DocumentType node.
- * @param e an ML DocumentType node.
- */
- public void visit(DocumentType e)
- {
- }
-
- /**
- * Visit XML Attribute node.
- * @param e an XML Atrribute node.
- */
- public void visit(Attr e)
- {
- }
-
- /**
- * Visit XML Element node.
- * @param e an XML Element node.
- */
- public void visit(Element e)
- {
- }
-
- /**
- * Visit XML Comment node.
- * @param e an XML Comment node.
- */
- public void visit(Comment e)
- {
- }
-
- /**
- * Visit XML Text node.
- * @param e an XML Text node.
- */
- public void visit(Text e)
- {
- }
-
- /**
- * Visit XML EntityReference node.
- * @param e an XML EntityReference node.
- */
- public void visit(EntityReference e)
- {
- }
-
- /**
- * Visit XML Entity node.
- * @param e an XML Entity node.
- */
- public void visit(Entity e)
- {
- }
-
- /**
- * Visit XML Notation node.
- * @param n an XML Notation node.
- */
- public void visit(Notation n)
- {
- }
-
- /**
- * Visit XML ProcessingInstruction node.
- * @param i an XML ProcessingInstruction node.
- */
- public void visit(ProcessingInstruction i)
- {
- }
-
- /**
- * Visit XML NamedNodeMap node.
- * @param i an XML NamedNodeMap node.
- */
- public void visit(NamedNodeMap i)
- {
- }
-
- /**
- * Visit XML node.
- * @param node an XML node.
- */
- public void doVisit(Object node)
- {
- if (node instanceof Element)
- {
- visit((Element) node);
- }
- else if (node instanceof Comment)
- {
- visit((Comment) node);
- }
- else if (node instanceof CDATASection)
- {
- // CDATASection extends Text, so it must come first
- visit((CDATASection) node);
- }
- else if (node instanceof Text)
- {
- visit((Text) node);
- }
- else if (node instanceof Attr)
- {
- visit((Attr) node);
- }
- else if (node instanceof Document)
- {
- visit((Document) node);
- }
- else if (node instanceof EntityReference)
- {
- visit((EntityReference) node);
- }
- else if (node instanceof Entity)
- {
- visit((Entity) node);
- }
- else if (node instanceof DocumentType)
- {
- visit((DocumentType) node);
- }
- else if (node instanceof Notation)
- {
- visit((Notation) node);
- }
- else if (node instanceof ProcessingInstruction)
- {
- visit((ProcessingInstruction) node);
- }
- else if (node instanceof NamedNodeMap)
- {
- visit((NamedNodeMap) node);
- }
- }
-}
-
-// END OF FILE
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/dom/DOMParser.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/dom/DOMParser.java
deleted file mode 100644
index 2ee0361d3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/dom/DOMParser.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * 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.xml.dom;
-
-import org.apache.xerces.dom.ElementImpl;
-import org.apache.xerces.xni.Augmentations;
-import org.apache.xerces.xni.NamespaceContext;
-import org.apache.xerces.xni.QName;
-import org.apache.xerces.xni.XMLAttributes;
-import org.apache.xerces.xni.XMLLocator;
-import org.apache.xerces.xni.XNIException;
-import org.w3c.dom.Element;
-import org.xml.sax.SAXNotRecognizedException;
-import org.xml.sax.SAXNotSupportedException;
-
-/**
- * This class specializes org.apache.xerces.parsers.DOMParser.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class DOMParser extends org.apache.xerces.parsers.DOMParser
-{
- /**
- * Locator.
- */
- XMLLocator locator = null;
-
- /* (non-Javadoc)
- * @see org.apache.xerces.xni.XMLDocumentHandler#startDocument(org.apache.xerces.xni.XMLLocator, java.lang.String, org.apache.xerces.xni.NamespaceContext, org.apache.xerces.xni.Augmentations)
- */
- public void startDocument(
- XMLLocator locator,
- String encoding,
- NamespaceContext context,
- Augmentations augs)
- throws XNIException
- {
- this.locator = locator;
- super.startDocument(locator, encoding, context, augs);
- }
-
- /* (non-Javadoc)
- * @see org.apache.xerces.xni.XMLDocumentHandler#startElement(org.apache.xerces.xni.QName, org.apache.xerces.xni.XMLAttributes, org.apache.xerces.xni.Augmentations)
- */
- public void startElement(
- QName qname,
- XMLAttributes attributes,
- Augmentations augs)
- throws XNIException
- {
- Element element;
- ElementImpl elementImpl;
-
- // DEBUG:
- //System.err.println("1-line: " + locator.getLineNumber() + ", column: " + locator.getColumnNumber());
-
- super.startElement(qname, attributes, augs);
-
- // DEBUG:
- //System.err.println("2-line: " + locator.getLineNumber() + ", column: " + locator.getColumnNumber());
-
- try
- {
- element = (Element) getProperty(CURRENT_ELEMENT_NODE);
-
- elementImpl = (ElementImpl) element;
- // Setting the user data with an identifier such as ElementLocation.KEY_NAME
- // may be a long term good idea. The setUserData method with no id is used
- // to support JVMs with alternate versions of Xerces.
- elementImpl.setUserData(new ElementLocation(locator.getLineNumber(), locator.getColumnNumber()));
- }
- catch (ClassCastException cce)
- {
- }
- catch (SAXNotSupportedException snse)
- {
- // DEBUG:
- //System.err.println(snse.toString());
- }
- catch (SAXNotRecognizedException snre)
- {
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/dom/ElementLocation.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/dom/ElementLocation.java
deleted file mode 100644
index fa9053363..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/dom/ElementLocation.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * 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.xml.dom;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.xml.sax.Locator;
-
-/**
- * This class provides line and column information for a node within an XML document.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class ElementLocation
-{
- /**
- * Line number.
- */
- public static final String KEY_NAME = ElementLocation.class.getName();
-
- /**
- * Line number.
- */
- protected int lineNumber = 0;
-
- /**
- * Column number.
- */
- protected int columnNumber = 0;
-
- /**
- * Element location.
- * @param lineNumber a line number.
- * @param columnNumber a column number.
- */
- public ElementLocation(int lineNumber, int columnNumber)
- {
- this.lineNumber = lineNumber;
- this.columnNumber = columnNumber;
- }
-
- /**
- * Element location.
- * @param locator a Locator object.
- */
- public ElementLocation(Locator locator)
- {
- this.lineNumber = locator.getLineNumber();
- this.columnNumber = locator.getColumnNumber();
- }
-
- /**
- * Get the line number.
- * @return an int representing the line number value.
- */
- public int getLineNumber()
- {
- return this.lineNumber;
- }
-
- /**
- * Get the column number.
- * @return an int representing the column number value.
- */
- public int getColumnNumber()
- {
- return this.columnNumber;
- }
-
- /**
- * Get string representation of this object.
- */
- public String toString()
- {
- return "Element Location:\n"
- + " "
- + WSIConstants.ATTR_LINE_NUMBER
- + "="
- + this.lineNumber
- + "\n";
- //+ " " + WSIConstants.ATTR_COLUMN_NUMBER + "=" + this.columnNumber + "\n";
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/jaxp/DocumentBuilderFactoryImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/jaxp/DocumentBuilderFactoryImpl.java
deleted file mode 100644
index 4bec5cdfe..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/jaxp/DocumentBuilderFactoryImpl.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * 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.xml.jaxp;
-
-import java.util.Hashtable;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-/**
- * This class defines a factory API that enables us to obtain a parser that
- * produces DOM object trees from XML documents. Note this class specializes
- * javax.xml.parsers.DocumentBuilderFactory.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class DocumentBuilderFactoryImpl extends DocumentBuilderFactory
-{
-
- protected Hashtable attributes = new Hashtable();
-
- /**
- * Creates a new instance of a DocumentBuilder using the currently
- * configured parameters.
- *
- * @return a new instance of a DocumentBuilder.
- * @throws ParserConfigurationException if a DocumentBuilder cannot
- * be created which satisfies the configuration requested.
- */
- public DocumentBuilder newDocumentBuilder()
- throws ParserConfigurationException
- {
- DocumentBuilder documentBuilder = null;
-
- try
- {
- documentBuilder = new DocumentBuilderImpl(this, attributes);
- }
-
- catch (Exception e)
- {
- throw new ParserConfigurationException(e.getMessage());
- }
-
- return documentBuilder;
- }
-
- /**
- * Allows the user to retrieve specific attributes on the underlying
- * implementation.
- *
- * @param name the name of the attribute.
- * @return the value of the attribute.
- * @throws IllegalArgumentException if the underlying implementation
- * doesn't recognize the attribute.
- */
- public Object getAttribute(String name) throws IllegalArgumentException
- {
- return attributes.get(name);
- }
-
- /**
- * Allows the user to set specific attributes on the underlying
- * implementation.
- *
- * @param name the name of the attribute.
- * @param value the value of the attribute.
- * @throws IllegalArgumentException if the underlying implementation
- * doesn't recognize the attribute.
- */
- public void setAttribute(String name, Object value)
- throws IllegalArgumentException
- {
- attributes.put(name, value);
- }
-
- public void setFeature(String arg0, boolean arg1)
- throws ParserConfigurationException
- {
- // currently we do not support setting any feature
- // as per spec, we should throw an exception
- throw new ParserConfigurationException(arg0 + " Not supported");
- }
-
- public boolean getFeature(String arg0)
- throws ParserConfigurationException
- {
- // as per spec, we should throw an exception
- throw new ParserConfigurationException(arg0 + " is not supported");
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/jaxp/DocumentBuilderImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/jaxp/DocumentBuilderImpl.java
deleted file mode 100644
index 2858dd7cd..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/jaxp/DocumentBuilderImpl.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*******************************************************************************
- * 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.xml.jaxp;
-
-
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.Hashtable;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.apache.xerces.dom.DOMImplementationImpl;
-import org.apache.xerces.dom.DocumentImpl;
-import org.apache.xerces.impl.Constants;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.eclipse.wst.wsi.internal.core.xml.dom.DOMParser;
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Document;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Using this class, we can obtain a Document from XML. This class is a
- * specialization of javax.xml.parsers.DocumentBuilder.
- *
- * An instance of this class can be obtained from the
- * DocumentBuilderFactory.newDocumentBuilder method. Once an instance
- * of this class is obtained, XML can be parsed from a variety of input
- * sources. These input sources are InputStreams, Files, URLs, and SAX
- * InputSources.
-
-This class will javax.xml.parsers.DocumentBuilderFactory...
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class DocumentBuilderImpl extends DocumentBuilder
-{
- protected DOMParser domParser = null;
-
- protected EntityResolver entityResolver = null;
- protected ErrorHandler errorHandler = new DefaultHandler();
-
- protected static final String NAMESPACES_FEATURE =
- Constants.SAX_FEATURE_PREFIX + Constants.NAMESPACES_FEATURE;
- protected static final String VALIDATION_FEATURE =
- Constants.SAX_FEATURE_PREFIX + Constants.VALIDATION_FEATURE;
-
- /**
- * Constructor for DocumentBuilderImpl2.
- *
- * @param dbFactory a DocumentBuilderFactory object.
- * @throws SAXException if any parse errors occur.
- */
- public DocumentBuilderImpl(DocumentBuilderFactory dbFactory, Hashtable attributes)
- throws SAXException
- {
- // Create parser
- domParser = new DOMParser();
-
- // Set namespace aware
- domParser.setFeature(NAMESPACES_FEATURE, dbFactory.isNamespaceAware());
-
- // Set validating
- domParser.setFeature(VALIDATION_FEATURE, dbFactory.isValidating());
- if (dbFactory.isValidating()) domParser.setFeature(XMLUtils.FEATURE_VALIDATION_SCHEMA, true);
-
- // Do not defer node expansion
- domParser.setFeature(
- Constants.XERCES_FEATURE_PREFIX + Constants.DEFER_NODE_EXPANSION_FEATURE,
- false);
-
- // Set other features from the document factory builder
- domParser.setFeature(
- Constants.XERCES_FEATURE_PREFIX + Constants.INCLUDE_IGNORABLE_WHITESPACE,
- !dbFactory.isIgnoringElementContentWhitespace());
- domParser.setFeature(
- Constants.XERCES_FEATURE_PREFIX
- + Constants.CREATE_ENTITY_REF_NODES_FEATURE,
- !dbFactory.isExpandEntityReferences());
- domParser.setFeature(
- Constants.XERCES_FEATURE_PREFIX + Constants.INCLUDE_COMMENTS_FEATURE,
- !dbFactory.isIgnoringComments());
- domParser.setFeature(
- Constants.XERCES_FEATURE_PREFIX + Constants.CREATE_CDATA_NODES_FEATURE,
- !dbFactory.isCoalescing());
-
- // set features and properties specified at factory level
- if (attributes != null)
- {
- for (Enumeration i=attributes.keys(); i.hasMoreElements();)
- {
- String attribute = (String)i.nextElement();
- if (attribute.equals(XMLUtils.JAXP_SCHEMA_SOURCE))
- {
- // for multiple schema validation may be array of InputSource
- if(attributes.get(attribute) instanceof InputSource[])
- domParser.setProperty(attribute, (InputSource[])attributes.get(attribute));
- else
- domParser.setProperty(attribute, (InputSource)attributes.get(attribute));
- }
- else
- {
- domParser.setProperty(attribute, attributes.get(attribute));
- }
- }
- }
- }
-
- /**
- * Parse the content of the given input source as an XML document and return a new DOM.
- * @param is InputStream containing the content to be parsed.
- * @throws SAXException if any parse errors occur.
- * @throws IOException if any IO errors occur.
- */
- public Document parse(InputSource is) throws SAXException, IOException
- {
- ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());
-
- // Set entity resolver
- if (this.entityResolver != null)
- domParser.setEntityResolver(this.entityResolver);
-
- // Set error handler
- if (this.errorHandler != null)
- domParser.setErrorHandler(this.errorHandler);
-
- // Parse input source
- domParser.parse(is);
-
- // Return the document that was created
- return domParser.getDocument();
- }
- finally
- {
- Thread.currentThread().setContextClassLoader(currentLoader);
- }
- }
-
- /**
- * Indicates whether or not this parser is configured to understand namespaces.
- * @return true if this parser is configured to understand namespaces; false otherwise.
- */
- public boolean isNamespaceAware()
- {
- boolean namespaceAware = false;
-
- try
- {
- namespaceAware = domParser.getFeature(NAMESPACES_FEATURE);
- }
-
- catch (SAXException se)
- {
- throw new RuntimeException(se.toString());
- }
-
- return namespaceAware;
- }
-
- /**
- * Indicates whether or not this parser is configured to validate XML documents.
- * @return true if this parser is configured to validate XML documents; false otherwise.
- */
- public boolean isValidating()
- {
- boolean validating = false;
-
- try
- {
- validating = domParser.getFeature(VALIDATION_FEATURE);
- }
-
- catch (SAXException se)
- {
- throw new RuntimeException(se.toString());
- }
-
- return validating;
- }
-
- /**
- * Specify the EntityResolver to be used to resolve entities present
- * in the XML document to be parsed. Setting this to null will result
- * in the underlying implementation using it's own default
- * implementation and behavior.
- *
- * @param er the EntityResolver to be used to resolve entities
- * present in the XML document to be parsed.
- */
- public void setEntityResolver(EntityResolver entityResolver)
- {
- this.entityResolver = entityResolver;
- }
-
- /**
- * Specify the ErrorHandler to be used to report errors present in
- * the XML document to be parsed. Setting this to null will result
- * in the underlying implementation using it's own default
- * implementation and behavior.
- *
- * param eh the ErrorHandler to be used to report errors present in
- * the XML document to be parsed.
- */
- public void setErrorHandler(ErrorHandler errorHandler)
- {
- this.errorHandler = errorHandler;
- }
-
- /**
- * Obtain a new instance of a DOM Document object to build a DOM
- * tree with. An alternative way to create a DOM Document object
- * is to use the getDOMImplementation method to get a DOM Level 2
- * DOMImplementation object and then use DOM Level 2 methods on
- * that object to create a DOM Document object.
- *
- * @return a new instance of a DOM Document object.
- */
- public Document newDocument()
- {
- return new DocumentImpl();
- }
-
- /**
- * Obtain an instance of a DOMImplementation object.
- * @return a new instance of a DOMImplementation.
- */
- public DOMImplementation getDOMImplementation()
- {
- return new DOMImplementationImpl();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/TargetNamespaceProcessor.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/TargetNamespaceProcessor.java
deleted file mode 100644
index 6dc2435df..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/TargetNamespaceProcessor.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * 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.xml.schema;
-
-import java.util.List;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * This class processes target namespaces. Note this class is a specialization
- * of org.wsi.xml.schema.XMLSchemaProcessor.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class TargetNamespaceProcessor extends XMLSchemaProcessor
-{
-
- /**
- * Constructor for TargetNamespaceProcess.
- *
- * @param context
- * document context
- * @param documentList
- * cache of previously parsed documents
- */
- public TargetNamespaceProcessor(String context)
- {
- super(context, false);
- }
-
- protected void processSchema(Element element)
- {
- String tns = null;
- Attr attr = XMLUtils.getAttribute(element, ATTR_XSD_TARGETNAMESPACE);
-
- // If the attribute was found and value is not null, then add it to the list
- if ((attr != null) && ((tns = attr.getValue()) != null))
- {
- // Add the targetNamespace to the return list
- returnList.add(tns);
- }
- }
-
- /**
- * Search for all schema elements, load the xsd documents, and then process
- * them.
- *
- * @param node
- * node.
- * @return a list.
- * @throws WSIException
- * if the XML schema file is not found or if it is not formatted
- * correctly.
- */
- public List processAllSchema(Node node) throws WSIException
- {
- return processAllSchema(node, context);
- }
-
- /**
- * Search for all schema elements, load the xsd documents, and then process
- * them.
- *
- * @param node
- * node.
- * @return a list.
- * @throws WSIException
- * if the XML schema file is not found or if it is not formatted
- * correctly.
- */
- private List processAllSchema(Node node, String ctx) throws WSIException
- {
- ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());
-
- // if xsd:schema element is found -> process schema
- if (XMLUtils.equals(node, ELEM_XSD_SCHEMA))
- {
- processSchema((Element) node);
-
- Node n = node.getFirstChild();
- while (n != null)
- {
- if (Node.ELEMENT_NODE == n.getNodeType()&& XMLUtils.equals(n, ELEM_XSD_IMPORT))
- {
- Attr schemaLocation = XMLUtils.getAttribute((Element) n, ATTR_XSD_SCHEMALOCATION);
-
- // Try to parse imported XSD
- if (schemaLocation != null && schemaLocation.getValue() != null)
- {
- if (!schemaLocations.contains(schemaLocation.getValue()))
- {
- schemaLocations.add(schemaLocation.getValue());
- try
- {
- // Read and pParse the XML schema document
- Document document = parseXMLDocumentURL(schemaLocation.getValue(), ctx, TestUtils.getXMLSchemaLocation());
- processAllSchema(document.getDocumentElement(), XMLUtils.createURLString(schemaLocation.getValue(), ctx));
- }
- catch (WSIException e)
- {
- if (throwException) throw e;
- }
- catch (Throwable t)
- {
- // NOTE: An exception will occur if the XML schema file is not
- // found or if it is not formatted correctly
- if (throwException) throw new WSIException(t.getMessage(), t);
- }
- }
- }
- }
- n = n.getNextSibling();
- }
- }
-
- // Return list created by the class that extends this class
- return returnList;
- }
- finally
- {
- Thread.currentThread().setContextClassLoader(currentLoader);
- }
-}
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaProcessor.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaProcessor.java
deleted file mode 100644
index e6e52e15a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaProcessor.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * 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.xml.schema;
-
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLDocumentCacheUser;
-import org.eclipse.wst.wsi.internal.core.xml.XMLTags;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * This abstract class is used to process an XML Schema.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public abstract class XMLSchemaProcessor
- extends XMLDocumentCacheUser
- implements XMLTags
-{
- protected List returnList = new Vector();
- protected String context;
- protected boolean throwException = true;
- protected List schemaLocations = new Vector();
-
- /**
- * Constructor for XMLSchemaProcessor.
- * @param context document context.
- * @param documentList cache of previously parsed documents.
- */
- public XMLSchemaProcessor(String context)
- {
- this(context, true);
- }
-
- /**
- * Constructor for XMLSchemaProcessor.
- * @param context document context.
- * @param documentList cache of previously parsed documents.
- * @param throwException indicates if an exception should be thrown if there is a parsing problem.
- */
- public XMLSchemaProcessor(
- String context,
- boolean throwException)
- {
- super();
-
- this.context = context;
- this.throwException = throwException;
- }
-
- /**
- * Search for all schema elements, load the xsd documents, and then process them.
- * @param node node.
- * @return a list.
- * @throws WSIException if the XML schema file is not found or if it is not formatted correctly.
- */
- public List processAllSchema(Node node) throws WSIException
- {
- return processAllSchema(node, context);
- }
-
- /**
- * Search for all schema elements, load the xsd documents, and then process them.
- * @param node node.
- * @return a list.
- * @throws WSIException if the XML schema file is not found or if it is not formatted correctly.
- */
- private List processAllSchema(Node node, String ctx) throws WSIException
- {
- ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- Thread.currentThread().setContextClassLoader(XMLSchemaProcessor.class.getClassLoader());
- // Process all nodes
- while (node != null)
- {
- // If this is an element node, then continue
- if (Node.ELEMENT_NODE == node.getNodeType())
- {
- // if xsd:schema element is found -> process schema
- if (XMLUtils.equals(node, ELEM_XSD_SCHEMA))
- {
- processSchema((Element) node);
-
- // Process all children of the schema element
- processAllSchema(node.getFirstChild(), ctx);
- }
-
- // if xsd:import element is found -> load schema and process schema
- else if (XMLUtils.equals(node, ELEM_XSD_IMPORT))
- {
-
- Attr schemaLocation =
- XMLUtils.getAttribute((Element) node, ATTR_XSD_SCHEMALOCATION);
-
- // Try to parse imported XSD
- if (schemaLocation != null && schemaLocation.getValue() != null)
- {
- if (!schemaLocations.contains(schemaLocation.getValue()))
- {
- schemaLocations.add(schemaLocation.getValue());
- try
- {
- // Read and pParse the XML schema document
- Document document =
- parseXMLDocumentURL(
- schemaLocation.getValue(),
- ctx,
- TestUtils.getXMLSchemaLocation());
-
- processAllSchema(document.getDocumentElement(),
- XMLUtils.createURLString(schemaLocation.getValue(), ctx));
- }
- catch (WSIException e)
- {
- if (throwException)
- throw e;
- }
-
- catch (Throwable t)
- {
- // NOTE: An exception will occur if the XML schema file is not found or if it is not formatted correctly
- if (throwException)
- throw new WSIException(t.getMessage(), t);
- }
- }
- }
- }
-
- else
- {
- // else iterate element recursively
- processAllSchema(node.getFirstChild(), ctx);
- }
- }
-
- // Get next sibiling
- node = node.getNextSibling();
- }
-
- }
- finally
- {
- Thread.currentThread().setContextClassLoader(currentLoader);
- }
-
-
- // Return list created by the class that extends this class
- return returnList;
- }
-
- protected abstract void processSchema(Element element);
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaValidator.java
deleted file mode 100644
index 36ca130aa..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaValidator.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * 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.xml.schema;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-import com.ibm.wsdl.util.xml.DOM2Writer;
-
-/**
- * This class is used to validate an XML Schema.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class XMLSchemaValidator extends XMLSchemaProcessor
-{
- private static final String XMLNS_PREFIX = "xmlns:";
-
- /**
- * Constructor for XMLSchemaValidator.
- * @param context document context.
- * @param documentList cache of previously parsed documents.
- */
- public XMLSchemaValidator(String context)
- {
- super(context);
- }
-
- protected void processSchema(Element element)
- {
- NamedNodeMap attrList;
-
- HashMap elementMap = new HashMap();
- HashMap nsMap = new HashMap();
-
- try
- {
- // Get schema content as a string
- String schema = DOM2Writer.nodeToString(element);
-
- // Get list of element namespaces
- if ((attrList = element.getAttributes()) != null)
- {
- addNamespaces(attrList, elementMap, null);
- }
-
- // If elementMap does not contain entry for it's own namespace, then add it
- if (elementMap.get(XMLNS_PREFIX + element.getPrefix()) == null)
- {
- elementMap.put(
- XMLNS_PREFIX + element.getPrefix(),
- element.getNamespaceURI());
- }
-
- // Get first parent node and then process all of them until you hit the top of the document
- Node parentNode = element.getParentNode();
- while (parentNode != null)
- {
- // Only process Element nodes
- if (parentNode.getNodeType() == Node.ELEMENT_NODE)
- {
- // Get the list of attributes for the parent node
- attrList = parentNode.getAttributes();
-
- // If there are attributes, look for the xmlns: attributes
- if (attrList != null)
- {
- addNamespaces(attrList, nsMap, elementMap);
- }
- }
-
- parentNode = parentNode.getParentNode();
- }
-
- // Build namespace list
- if (nsMap.size() > 0)
- {
- String attr;
- String namespaceList = "";
- Iterator iterator = nsMap.keySet().iterator();
- while (iterator.hasNext())
- {
- attr = (String) iterator.next();
- namespaceList += " " + attr + "=\"" + nsMap.get(attr) + "\"";
- }
-
- // Add namespace settings, since the DOM2Writer will miss any that are used as attribute values
- int index = schema.indexOf(">");
- if (index > 0)
- {
- String start = schema.substring(0, index);
- String end = schema.substring(index);
-
- schema = start + namespaceList + end;
- }
- }
-
- // Schema validate the XML schema document
- XMLUtils.parseXML(schema, TestUtils.getXMLSchemaLocation());
- }
-
- catch (WSIException we)
- {
- Throwable t = we.getTargetException();
- if (t != null)
- {
- returnList.add(t.getMessage());
- }
- }
- }
-
- private void addNamespaces(NamedNodeMap attrList, Map nsMap, Map elementMap)
- {
- Node attr;
- String nodeName;
-
- for (int i = 0; i < attrList.getLength(); i++)
- {
- attr = attrList.item(i);
-
- // Get the attribute node name
- nodeName = attr.getNodeName();
-
- // If it starts with xmlns:, then determine if it should be added to the list of namespaces
- if (nodeName.startsWith(XMLNS_PREFIX)
- && ((elementMap == null
- || (elementMap != null && elementMap.get(nodeName) == null))))
- {
- if (nsMap.get(nodeName) == null)
- nsMap.put(nodeName, attr.getNodeValue());
- }
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/document/DocumentFactoryImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/document/DocumentFactoryImpl.java
deleted file mode 100644
index c29eaf0e1..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/document/DocumentFactoryImpl.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * 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.document;
-
-
-import org.eclipse.wst.wsi.internal.core.report.Report;
-import org.eclipse.wst.wsi.internal.core.report.ReportWriter;
-import org.eclipse.wst.wsi.internal.core.report.impl.ReportImpl;
-import org.eclipse.wst.wsi.internal.report.ReportNoWriterImpl;
-
-/**
- * DocumentFactoryImpl
- *
- * Extends the WS-I Test Tools document factory to specify specific Report
- * and ReportWriter classes needed for inclusion of the tools in WSAD.
- */
-public class DocumentFactoryImpl extends org.eclipse.wst.wsi.internal.core.document.impl.DocumentFactoryImpl
-{
-
- /**
- * Constructor for DocumentFactoryImpl.
- */
- public DocumentFactoryImpl()
- {
- super();
- }
-
- /**
- * Create a new instance of a DocumentWriter.
- */
- public ReportWriter newReportWriter()
- {
- // Return implementation
- return new ReportNoWriterImpl();
- }
-
- /**
- * Create report.
- * @return newly created report.
- */
- public Report newReport()
- {
- return new ReportImpl();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/report/AssertionError.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/report/AssertionError.java
deleted file mode 100644
index 3e0ec824e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/report/AssertionError.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * 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;
-
-/**
- * AssertionError
- *
- * Object to hold an assertion error generated by the WS-I Test Tools.
- * Provides access to all the information about the error including the
- * id, message and location in the file.
- */
-public class AssertionError
-{
-
- protected String message;
- protected String assertionid;
- protected int column;
- protected int line;
- /**
- * Constructor for AssertionError.
- */
- public AssertionError()
- {
- message = assertionid = "";
- line = column = 0;
- }
-
- /**
- * Constructor for AssertionError.
- * @param id assertion id.
- * @param message a error message.
- * @param line a line number.
- * @param column a column number.
- */
- public AssertionError(String id, String message, int line, int column)
- {
- this.assertionid = id;
- this.message = message;
- this.line = line;
- this.column = column;
- }
-
- /**
- * Method setAssertionID.
- * @param id assertion id.
- * @see #getAssertionID
- */
- public void setAssertionID(String id)
- {
- assertionid = id;
- }
-
- /**
- * Method getAssertionID.
- * @return asserion id.
- * @see #setAssertionID
- */
- public String getAssertionID()
- {
- return assertionid;
- }
-
- /**
- * Method setErrorMessage.
- * @param message a error message.
- * @see #getErrorMessage
- */
- public void setErrorMessage(String message)
- {
- this.message = message;
- }
-
- /**
- * Method getErrorMessage.
- * @return error message.
- * @see #setErrorMessage
- */
- public String getErrorMessage()
- {
- return message;
- }
-
- /**
- * Method setLine.
- * @param line line number.
- * @see #getLine
- */
- public void setLine(int line)
- {
- this.line = line;
- }
-
- /**
- * Method getLine.
- * @return line number.
- * @see #setLine
- */
- public int getLine()
- {
- return line;
- }
-
- /**
- * Method setColumn.
- * @param column column number.
- * @see #getColumn
- */
- public void setColumn(int column)
- {
- this.column = column;
- }
-
- /**
- * Method getColumn.
- * @return column number.
- * @see #setColumn
- */
- public int getColumn()
- {
- return column;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/report/ReportNoWriterImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/report/ReportNoWriterImpl.java
deleted file mode 100644
index 7f3725cf5..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/report/ReportNoWriterImpl.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.report.Report;
-import org.w3c.dom.Document;
-
-/**
- * WS-I conformance test ReportWriter for wsi plugin.
- * This ReportWriter writes nothing so no report file will be created.
- */
-public class ReportNoWriterImpl implements org.eclipse.wst.wsi.internal.core.report.ReportWriter
-{
-
- /**
- * @see java.lang.Object#Object()
- */
- public ReportNoWriterImpl()
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentWriter#getDocument()
- */
- public Document getDocument() throws UnsupportedOperationException
- {
- throw new UnsupportedOperationException();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentWriter#setWriter(String)
- */
- public void setWriter(String documentLocation) throws IOException
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentWriter#write(Reader)
- */
- public void write(Reader reader) throws WSIException, IllegalStateException
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentWriter#write(Reader, Writer)
- */
- public void write(Reader reader, Writer writer) throws WSIException
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.ReportWriter#write(Report)
- */
- public void write(Report report) throws IllegalStateException
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.report.ReportWriter#write(Report, Writer)
- */
- public void write(Report report, Writer writer)
- {
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.document.DocumentWriter#close()
- */
- public void close() throws WSIException, IllegalStateException
- {
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/validate/wsdl/WSDLValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/validate/wsdl/WSDLValidator.java
deleted file mode 100644
index b84694f2c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/validate/wsdl/WSDLValidator.java
+++ /dev/null
@@ -1,369 +0,0 @@
-/*******************************************************************************
- * 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.validate.wsdl;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ResourceBundle;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-import javax.wsdl.Message;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.WSDLException;
-
-import org.eclipse.wst.wsdl.validation.internal.IValidationInfo;
-import org.eclipse.wst.wsdl.validation.internal.IWSDLValidator;
-import org.eclipse.wst.wsdl.validation.internal.ValidationInfoImpl;
-import org.eclipse.wst.wsdl.validation.internal.exception.ValidateWSDLException;
-import org.eclipse.wst.wsdl.validation.internal.resolver.URIResolver;
-import org.eclipse.wst.wsdl.validation.internal.util.MessageGenerator;
-import org.eclipse.wst.wsdl.validation.internal.wsdl11.WSDL11ValidationInfoImpl;
-import org.eclipse.wst.wsdl.validation.internal.wsdl11.WSDLDocument;
-import org.eclipse.wst.wsdl.validation.internal.wsdl11.WSDLReaderImpl;
-import org.eclipse.wst.wsi.internal.WSIPreferences;
-import org.eclipse.wst.wsi.internal.WSITestToolsProperties;
-import org.eclipse.wst.wsi.internal.analyzer.WSDLAnalyzer;
-import org.eclipse.wst.wsi.internal.analyzer.WSIAnalyzerException;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.report.AssertionError;
-import org.w3c.dom.Document;
-
-/**
- * The WSI validator plugs into the WSDL validator to provide
- * validation for a WSDL document with respect to the WS-I Basic Profile (currently 1.0).
- * This class acts as an bridge between the WS-I tools and the WSDL Validator.
- *
- * @author Lawrence Mandel (lmandel@ca.ibm.com)
- * @author Wajiha Rehman
- */
-public class WSDLValidator implements IWSDLValidator
-{
- protected final String _EXC_UNABLE_TO_VALIDATE_WSI = "_EXC_UNABLE_TO_VALIDATE_WSI";
-
- // indications for types of errors
- protected final int ERROR = 2;
- protected final int WARNING = 1;
-
- protected MessageGenerator messagegenerator = null;
- protected boolean wsiValid = false;
-
- /**
- * Constructor.
- */
- public WSDLValidator()
- {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wsdl.validate.IWSDLValidator#validate(org.w3c.dom.Document, org.eclipse.wsdl.validate.ValidationInfo)
- */
- public void validate(Document domModel, IValidationInfo valInfo) throws ValidateWSDLException
- {
- boolean withAttachments = false;
- boolean withBasic = false;
- Object attValue = valInfo.getAttribute("http://ws-i.org/profiles/BasicWithAttachments/ComplianceLevel");
- if(attValue == null)
- {
- attValue = valInfo.getAttribute("http://ws-i.org/profiles/Basic/ComplianceLevel");
- if(attValue != null)
- {
- withBasic = true;
- }
- }
- else
- {
- withAttachments = true;
- }
- String wsiLevel = WSITestToolsProperties.WARN_NON_WSI;
- if(attValue != null)
- {
- String value = (String)attValue;
- if(value.equals("IGNORE"))
- {
- wsiLevel = WSITestToolsProperties.IGNORE_NON_WSI;
- }
- else if(value.equals("REQUIRE"))
- {
- wsiLevel = WSITestToolsProperties.STOP_NON_WSI;
- }
- }
- // If we are ignoring WS-I then don't run the tests.
- if(wsiLevel.equals(WSITestToolsProperties.IGNORE_NON_WSI))
- {
- return;
- }
-
- wsiValid = true;
- Definition definition = null;
- boolean hasAnalyzerConfig = false;
- String uri = valInfo.getFileURI();
- try
- {
- //WSDLFactory factory = WSDLFactory.newInstance();
- ValidationInfoImpl vali = new ValidationInfoImpl(valInfo.getFileURI(), messagegenerator);
- vali.setURIResolver((URIResolver)valInfo.getURIResolver());
- WSDLReaderImpl reader = new WSDLReaderImpl(new WSDL11ValidationInfoImpl(vali));
- WSDLDocument[] docs = reader.readWSDL(uri, domModel);
- int numdocs = docs.length;
- for(int i = 0; i < numdocs; i++)
- {
- WSDLDocument tempDoc = docs[i];
- if(tempDoc.getDefinition().getDocumentBaseURI().equals(valInfo.getFileURI()))
- {
- definition = tempDoc.getDefinition();
- break;
- }
- }
- }
- catch(WSDLException e)
- {
- throw new ValidateWSDLException(messagegenerator.getString(_EXC_UNABLE_TO_VALIDATE_WSI,uri));
- }
-
- if (definition != null && valInfo != null)
- {
- String namespace = definition.getTargetNamespace();
-
- // get all the collections we may need to validate
- Collection services = definition.getServices().values();
- Collection bindings = definition.getBindings().values();
- Collection portTypes = definition.getPortTypes().values();
- Collection messages = definition.getMessages().values();
-
- WSDLAnalyzer wsdlAnalyzer;
- if(withAttachments)
- {
- WSIPreferences preferences = new WSIPreferences();
- preferences.setComplianceLevel(wsiLevel);
- preferences.setTADFile(WSITestToolsProperties.AP_ASSERTION_FILE);
- wsdlAnalyzer = new WSDLAnalyzer(uri, preferences);
- }
- else if(withBasic)
- {
- WSIPreferences preferences = new WSIPreferences();
- preferences.setComplianceLevel(wsiLevel);
- preferences.setTADFile(WSITestToolsProperties.SSBP_ASSERTION_FILE);
- wsdlAnalyzer = new WSDLAnalyzer(uri, preferences);
- }
- else
- {
- // default preference setting
- wsdlAnalyzer = new WSDLAnalyzer(uri);
- }
-
- // The WS-I conformance tools require that each service be analyzed separately.
- // Get all the services and analyze them.
- if (services != null && !services.isEmpty())
- {
- Iterator serviceIterator = services.iterator();
-
- while (serviceIterator.hasNext())
- {
- Service service = (Service) serviceIterator.next();
-
- String servicename = service.getQName().getLocalPart();
-
- Collection ports = service.getPorts().values();
- if (ports != null && !ports.isEmpty())
- {
- // The WS-I tools must be called once for each port within each service.
- Iterator portIterator = ports.iterator();
- while (portIterator.hasNext())
- {
- Port port = (Port) portIterator.next();
-
- try
- {
- wsdlAnalyzer.addConfigurationToTest(servicename, namespace, port.getName(), WSDLAnalyzer.PORT);
- hasAnalyzerConfig = true;
- }
- catch (WSIAnalyzerException e)
- {
- // TODO: Add code to log error
- //System.out.println("exception " + e);
- }
-
- }
- }
- }
- }
- // validate at the binding level - check for every binding
- else if (bindings != null && !bindings.isEmpty())
- {
- Iterator bindingIterator = bindings.iterator();
-
- while (bindingIterator.hasNext())
- {
- Binding binding = (Binding) bindingIterator.next();
-
- String bindingname = binding.getQName().getLocalPart();
- try
- {
- wsdlAnalyzer.addConfigurationToTest(null, namespace, bindingname, WSDLAnalyzer.BINDING);
- hasAnalyzerConfig = true;
- }
- catch (WSIAnalyzerException e)
- {
- // TODO: Add code to log error
- //System.out.println("exception " + e);
- }
- }
- }
- // validate at the portType level - check for every portType
- else if (portTypes != null && !portTypes.isEmpty())
- {
- Iterator portTypeIterator = portTypes.iterator();
- while (portTypeIterator.hasNext())
- {
- PortType portType = (PortType) portTypeIterator.next();
- String portTypename = portType.getQName().getLocalPart();
- try
- {
- wsdlAnalyzer.addConfigurationToTest(null, namespace, portTypename, WSDLAnalyzer.PORTTYPE);
- hasAnalyzerConfig = true;
- }
- catch (WSIAnalyzerException e)
- {
- // TODO: Add code to log error
- //System.out.println("exception " + e);
- }
- }
- }
- // validate at the message level - check for every message
- else if (messages != null && !messages.isEmpty())
- {
- Iterator messageIterator = messages.iterator();
-
- while (messageIterator.hasNext())
- {
- Message message = (Message) messageIterator.next();
- String messagename = message.getQName().getLocalPart();
- try
- {
- wsdlAnalyzer.addConfigurationToTest(null, namespace, messagename, WSDLAnalyzer.MESSAGE);
- hasAnalyzerConfig = true;
- }
- catch (WSIAnalyzerException e)
- {
- // TODO: Add code to log error
- //System.out.println("exception " + e);
- }
- }
- }
- try
- {
- // only run the analyzer if there is something to check
- if(hasAnalyzerConfig)
- {
- // run the conformance check and add errors and warnings as needed
- wsdlAnalyzer.validateConformance();
-
- // If the level is suggest all errors should be reported as warnings.
- if(wsdlAnalyzer.getWSIPreferences().getComplianceLevel().equals(WSITestToolsProperties.WARN_NON_WSI))
- {
- addWarnings(wsdlAnalyzer.getAssertionErrors(), valInfo);
- }
- else
- {
- addErrors(wsdlAnalyzer.getAssertionErrors(), valInfo);
- }
- addWarnings(wsdlAnalyzer.getAssertionWarnings(), valInfo);
- }
- }
- catch (WSIAnalyzerException e)
- {
- // TODO: Add code to log error
- System.out.println("Unable to run WS-I WSDL conformance check.\n" + e);
- }
- }
- }
-
- /**
- * Add error messages to the validationcontroller.
- *
- * @param errors The list of errors to add.
- * @param valInfo The object that contains the validation information.
- */
- protected void addErrors(List errors, IValidationInfo valInfo)
- {
- reportProblems(errors, valInfo, ERROR);
- }
-
- /**
- * Add warning messages to the validationcontroller.
- *
- * @param warnings The list of warnings to add.
- * @param valInfo The object that contains the validation information.
- */
- protected void addWarnings(List warnings, IValidationInfo valInfo)
- {
- reportProblems(warnings, valInfo, WARNING);
- }
-
- /**
- * Report the problems specified for the given type to the validationcontroller.
- *
- * @param problems The problems to report.
- * @param valInfo The object to report the problems to.
- * @param type The type of messages to add.
- */
- protected void reportProblems(List problems, IValidationInfo valInfo, int type)
- {
- // if there were no problems just return
- if (problems == null)
- return;
-
-
- Iterator problemsIterator = problems.iterator();
- while (problemsIterator.hasNext())
- {
- AssertionError assertionerror = (AssertionError) problemsIterator.next();
- if (type == ERROR)
- {
- wsiValid = false;
- valInfo.addError(
- WSIConstants.WSI_PREFIX + "(" + assertionerror.getAssertionID()+ ") " + assertionerror.getErrorMessage(),
- assertionerror.getLine(),
- assertionerror.getColumn(),
- valInfo.getFileURI());
-
- }
- else if (type == WARNING)
- {
- valInfo.addWarning(
- WSIConstants.WSI_PREFIX + "(" + assertionerror.getAssertionID()+ ") " + assertionerror.getErrorMessage(),
- assertionerror.getLine(),
- assertionerror.getColumn(),
- valInfo.getFileURI());
- }
- }
- }
-
- /**
- * @see org.eclipse.wsdl.validate.controller.IWSDLValidator#setResourceBundle(java.util.ResourceBundle)
- */
- public void setResourceBundle(ResourceBundle rb)
- {
- messagegenerator = new MessageGenerator(rb);
- }
-
- /**
- * @see org.eclipse.wsdl.validate.controller.IWSDLValidator#isValid()
- */
- public boolean isValid()
- {
- return wsiValid;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/wsivalidate.properties b/bundles/org.eclipse.wst.wsi/src/wsivalidate.properties
deleted file mode 100644
index 8a906b409..000000000
--- a/bundles/org.eclipse.wst.wsi/src/wsivalidate.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-# /**
-# * <copyright>
-# *
-# * Copyright (c) 2002-2003 IBM Corporation and others.
-# * All rights reserved. This program and the accompanying materials
-# * are made available under the terms of the Common Public License v1.0
-# * which accompanies this distribution, and is available at
-# * http://www.eclipse.org/legal/cpl-v10.html
-# *
-# * Contributors:
-# * IBM - Initial API and implementation
-# *
-# * </copyright>
-# */
-
-_EXC_UNABLE_TO_VALIDATE_WSI = Unable to validate WS-I conformance. An error occured reading the WSDL document {0}. \ No newline at end of file

Back to the top