com.sun.tools.ws.processor.modeler.wsdl
Class WSDLModelerBase

java.lang.Object
  extended by com.sun.tools.ws.processor.modeler.wsdl.WSDLModelerBase
All Implemented Interfaces:
Modeler
Direct Known Subclasses:
WSDLModeler

public abstract class WSDLModelerBase
extends Object
implements Modeler


Nested Class Summary
 class WSDLModelerBase.ProcessSOAPOperationInfo
           
static class WSDLModelerBase.WSDLExceptionInfo
           
 
Field Summary
protected  Map<QName,Port> _bindingNameToPortMap
           
protected  Map _faultTypeToStructureMap
           
protected  Map<String,JavaException> _javaExceptions
           
protected  JavaSimpleTypeCreator _javaTypes
           
protected  WSDLDocument document
           
protected  ErrorReceiverFilter errReceiver
           
protected  MetadataFinder forest
           
protected  WSDLModelerBase.ProcessSOAPOperationInfo info
           
static String MESSAGE_HAS_MIME_MULTIPART_RELATED_BINDING
           
protected static LocatorImpl NULL_LOCATOR
           
(package private)  int numPasses
           
protected static String OPERATION_HAS_VOID_RETURN_TYPE
           
protected  WsimportOptions options
           
protected  WSDLParser parser
           
protected  boolean useWSIBasicProfile
           
protected static String WSDL_PARAMETER_ORDER
           
static String WSDL_RESULT_PARAMETER
           
 
Constructor Summary
WSDLModelerBase(WsimportOptions options, ErrorReceiver receiver)
           
 
Method Summary
protected  void applyPortMethodCustomization(Port port, Port wsdlPort)
           
protected  void error(Entity entity, String message)
           
protected static Message findMessage(QName messageName, WSDLModelerBase.ProcessSOAPOperationInfo info)
           
protected  List<String> getAlternateMimeTypes(List<MIMEContent> mimeContents)
           
protected  TWSDLExtension getAnyExtensionOfType(TWSDLExtensible extensible, Class type)
           
protected  Set getDuplicateFaultNames()
           
protected static TWSDLExtension getExtensionOfType(TWSDLExtensible extensible, Class type)
           
protected  List<SOAPHeader> getHeaderExtensions(TWSDLExtensible extensible)
           
protected  Message getInputMessage()
           
protected  String getLiteralJavaMemberName(Fault fault)
           
protected  List<MessagePart> getMessageParts(SOAPBody body, Message message, boolean isInput)
           
protected  List<MessagePart> getMimeContentParts(Message message, TWSDLExtensible ext)
           
protected  List<MIMEContent> getMimeContents(MIMEPart part)
           
protected  List<MIMEContent> getMimeContents(TWSDLExtensible ext, Message message, String name)
           
protected  Iterable<MIMEPart> getMimeParts(TWSDLExtensible ext)
           
protected  Message getOutputMessage()
           
protected static QName getQNameOf(GloballyKnown entity)
           
protected  String getRequestNamespaceURI(SOAPBody body)
           
protected  String getResponseNamespaceURI(SOAPBody body)
           
protected  SOAPBody getSOAPRequestBody()
           
protected  SOAPBody getSOAPResponseBody()
           
protected  String getUniqueClassName(String className)
           
protected  String getUniqueName(Operation operation, boolean hasOverloadedOperations)
           
protected  boolean isConflictingClassName(String name)
           
protected  boolean isConflictingExceptionClassName(String name)
           
protected  boolean isConflictingPortClassName(String name)
           
protected  boolean isConflictingServiceClassName(String name)
           
protected  boolean isConflictingStubClassName(String name)
           
protected  boolean isConflictingTieClassName(String name)
           
protected  boolean isProvider(Port wsdlPort)
           
protected  boolean isRequestMimeMultipart()
           
protected  boolean isResponseMimeMultipart()
           
protected  boolean isStyleAndPartMatch(SOAPOperation soapOperation, MessagePart part)
          For Document/Lit the wsdl:part should only have element attribute and for RPC/Lit or RPC/Encoded the wsdl:part should only have type attribute inside wsdl:message.
protected  String makePackageQualified(String s)
           
protected static boolean tokenListContains(String tokenList, String target)
           
protected  boolean validateBodyParts(BindingOperation operation)
           
protected  boolean validateMimeParts(Iterable<MIMEPart> mimeParts)
           
protected  void warning(Entity entity, String message)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.sun.tools.ws.processor.modeler.Modeler
buildModel
 

Field Detail

errReceiver

protected final ErrorReceiverFilter errReceiver

options

protected final WsimportOptions options

forest

protected MetadataFinder forest

numPasses

int numPasses

OPERATION_HAS_VOID_RETURN_TYPE

protected static final String OPERATION_HAS_VOID_RETURN_TYPE
See Also:
Constant Field Values

WSDL_PARAMETER_ORDER

protected static final String WSDL_PARAMETER_ORDER
See Also:
Constant Field Values

WSDL_RESULT_PARAMETER

public static final String WSDL_RESULT_PARAMETER
See Also:
Constant Field Values

MESSAGE_HAS_MIME_MULTIPART_RELATED_BINDING

public static final String MESSAGE_HAS_MIME_MULTIPART_RELATED_BINDING
See Also:
Constant Field Values

info

protected WSDLModelerBase.ProcessSOAPOperationInfo info

_javaExceptions

protected Map<String,JavaException> _javaExceptions

_faultTypeToStructureMap

protected Map _faultTypeToStructureMap

_javaTypes

protected JavaSimpleTypeCreator _javaTypes

_bindingNameToPortMap

protected Map<QName,Port> _bindingNameToPortMap

useWSIBasicProfile

protected boolean useWSIBasicProfile

parser

protected WSDLParser parser

document

protected WSDLDocument document

NULL_LOCATOR

protected static final LocatorImpl NULL_LOCATOR
Constructor Detail

WSDLModelerBase

public WSDLModelerBase(WsimportOptions options,
                       ErrorReceiver receiver)
Method Detail

applyPortMethodCustomization

protected void applyPortMethodCustomization(Port port,
                                            Port wsdlPort)
Parameters:
port -
wsdlPort -

isProvider

protected boolean isProvider(Port wsdlPort)

getSOAPRequestBody

protected SOAPBody getSOAPRequestBody()

isRequestMimeMultipart

protected boolean isRequestMimeMultipart()

isResponseMimeMultipart

protected boolean isResponseMimeMultipart()

getSOAPResponseBody

protected SOAPBody getSOAPResponseBody()

getOutputMessage

protected Message getOutputMessage()

getInputMessage

protected Message getInputMessage()

getMessageParts

protected List<MessagePart> getMessageParts(SOAPBody body,
                                            Message message,
                                            boolean isInput)
Parameters:
body - request or response body, represents soap:body
message - Input or output message, equivalent to wsdl:message
Returns:
iterator over MessagePart

getMimeContentParts

protected List<MessagePart> getMimeContentParts(Message message,
                                                TWSDLExtensible ext)
Parameters:
message -
Returns:
MessageParts referenced by the mime:content

validateMimeParts

protected boolean validateMimeParts(Iterable<MIMEPart> mimeParts)
Parameters:
mimeParts -

getAlternateMimeTypes

protected List<String> getAlternateMimeTypes(List<MIMEContent> mimeContents)

getMimeParts

protected Iterable<MIMEPart> getMimeParts(TWSDLExtensible ext)

getMimeContents

protected List<MIMEContent> getMimeContents(MIMEPart part)

isStyleAndPartMatch

protected boolean isStyleAndPartMatch(SOAPOperation soapOperation,
                                      MessagePart part)
For Document/Lit the wsdl:part should only have element attribute and for RPC/Lit or RPC/Encoded the wsdl:part should only have type attribute inside wsdl:message.


getRequestNamespaceURI

protected String getRequestNamespaceURI(SOAPBody body)

getResponseNamespaceURI

protected String getResponseNamespaceURI(SOAPBody body)

getHeaderExtensions

protected List<SOAPHeader> getHeaderExtensions(TWSDLExtensible extensible)
Returns:
List of SOAPHeader extensions

getDuplicateFaultNames

protected Set getDuplicateFaultNames()

validateBodyParts

protected boolean validateBodyParts(BindingOperation operation)
Parameters:
operation -
Returns:
true if operation has valid body parts

getLiteralJavaMemberName

protected String getLiteralJavaMemberName(Fault fault)

getMimeContents

protected List<MIMEContent> getMimeContents(TWSDLExtensible ext,
                                            Message message,
                                            String name)
Parameters:
ext -
message -
name -
Returns:
List of MimeContents from ext

makePackageQualified

protected String makePackageQualified(String s)

getUniqueName

protected String getUniqueName(Operation operation,
                               boolean hasOverloadedOperations)

getQNameOf

protected static QName getQNameOf(GloballyKnown entity)

getExtensionOfType

protected static TWSDLExtension getExtensionOfType(TWSDLExtensible extensible,
                                                   Class type)

getAnyExtensionOfType

protected TWSDLExtension getAnyExtensionOfType(TWSDLExtensible extensible,
                                               Class type)

findMessage

protected static Message findMessage(QName messageName,
                                     WSDLModelerBase.ProcessSOAPOperationInfo info)

tokenListContains

protected static boolean tokenListContains(String tokenList,
                                           String target)

getUniqueClassName

protected String getUniqueClassName(String className)

isConflictingClassName

protected boolean isConflictingClassName(String name)

isConflictingServiceClassName

protected boolean isConflictingServiceClassName(String name)

isConflictingStubClassName

protected boolean isConflictingStubClassName(String name)

isConflictingTieClassName

protected boolean isConflictingTieClassName(String name)

isConflictingPortClassName

protected boolean isConflictingPortClassName(String name)

isConflictingExceptionClassName

protected boolean isConflictingExceptionClassName(String name)

warning

protected void warning(Entity entity,
                       String message)

error

protected void error(Entity entity,
                     String message)