Search in sources :

Example 1 with DefaultLSIDPort

use of com.ibm.lsid.wsdl.DefaultLSIDPort in project cdmlib by cybertaxonomy.

the class LsidWsdlWrapperImpl method extractPorts.

/**
 * Extract the port info for data and meta data
 */
private void extractPorts() throws LSIDException {
    Map services = definition.getServices();
    Object[] serviceKeys = services.keySet().toArray();
    for (int j = 0; j < serviceKeys.length; j++) {
        Service service = (Service) services.get(serviceKeys[j]);
        Map ports = service.getPorts();
        Object[] portKeys = ports.keySet().toArray();
        // go through the ports, meta data and data
        for (int i = 0; i < portKeys.length; i++) {
            Port port = (Port) ports.get(portKeys[i]);
            Binding binding = port.getBinding();
            PortType portType = binding.getPortType();
            QName qname = portType.getQName();
            if (qname.getLocalPart().equals(METADATA_PORT_TYPE) && qname.getNamespaceURI().equals(OMG_LSID_PORT_TYPES_WSDL_NS_URI)) {
                if (!binding.getQName().equals(METADATA_SOAP_BINDING) && !binding.getQName().equals(METADATA_HTTP_BINDING) && !binding.getQName().equals(METADATA_FTP_BINDING) && !binding.getQName().equals(METADATA_FILE_BINDING))
                    throw new LSIDException(LSIDException.UNKNOWN_METHOD, "Unrecognized metadata binding: " + binding.getQName());
                LsidStandardPortImpl portImpl = extractPort(service, port, qname);
                lsidMetadataPorts.put(portImpl.getKey(), portImpl);
            } else if (qname.getLocalPart().equals(DATA_PORT_TYPE) && qname.getNamespaceURI().equals(OMG_LSID_PORT_TYPES_WSDL_NS_URI)) {
                if (!binding.getQName().equals(DATA_SOAP_BINDING) && !binding.getQName().equals(DATA_HTTP_BINDING) && !binding.getQName().equals(DATA_FTP_BINDING) && !binding.getQName().equals(DATA_FILE_BINDING))
                    throw new LSIDException(LSIDException.UNKNOWN_METHOD, "Unrecognized data binding: " + binding.getQName());
                LsidStandardPortImpl portImpl = extractPort(service, port, qname);
                lsidDataPorts.put(portImpl.getKey(), portImpl);
            } else if (qname.getLocalPart().equals(AUTHORITY_PORT_TYPE) && qname.getNamespaceURI().equals(OMG_LSID_PORT_TYPES_WSDL_NS_URI)) {
                if (!binding.getQName().equals(AUTHORITY_SOAP_BINDING) && !binding.getQName().equals(AUTHORITY_HTTP_BINDING))
                    throw new LSIDException(LSIDException.UNKNOWN_METHOD, "Unrecognized authority binding: " + binding.getQName());
                LsidStandardPortImpl portImpl = extractPort(service, port, qname);
                lsidAuthorityPorts.put(portImpl.getKey(), portImpl);
            } else {
                LSIDPortFactory lpf = LSIDResolver.getConfig().getLSIDPortFactory(portType);
                LSIDPort newPort = null;
                if (lpf == null) {
                    newPort = new DefaultLSIDPort(service.getQName().getLocalPart(), port.getName(), port);
                } else {
                    // might have to use whole qname, not sure for now
                    newPort = lpf.createPort(service.getQName().getLocalPart(), port);
                }
                wsdlExtensionPorts.put(getPortKey(newPort), newPort);
            }
        }
    }
}
Also used : FTPBinding(com.ibm.wsdl.extensions.ftp.FTPBinding) Binding(javax.wsdl.Binding) FileBinding(com.ibm.wsdl.extensions.file.FileBinding) DefaultLSIDPort(com.ibm.lsid.wsdl.DefaultLSIDPort) QName(javax.xml.namespace.QName) LSIDPort(com.ibm.lsid.wsdl.LSIDPort) LSIDDataPort(com.ibm.lsid.wsdl.LSIDDataPort) DefaultLSIDPort(com.ibm.lsid.wsdl.DefaultLSIDPort) LSIDStandardPort(com.ibm.lsid.wsdl.LSIDStandardPort) Port(javax.wsdl.Port) LSIDMetadataPort(com.ibm.lsid.wsdl.LSIDMetadataPort) LSIDAuthorityPort(com.ibm.lsid.wsdl.LSIDAuthorityPort) Service(javax.wsdl.Service) LSIDPortFactory(com.ibm.lsid.wsdl.LSIDPortFactory) LSIDException(com.ibm.lsid.LSIDException) LSIDPort(com.ibm.lsid.wsdl.LSIDPort) DefaultLSIDPort(com.ibm.lsid.wsdl.DefaultLSIDPort) Map(java.util.Map) PortType(javax.wsdl.PortType)

Aggregations

LSIDException (com.ibm.lsid.LSIDException)1 DefaultLSIDPort (com.ibm.lsid.wsdl.DefaultLSIDPort)1 LSIDAuthorityPort (com.ibm.lsid.wsdl.LSIDAuthorityPort)1 LSIDDataPort (com.ibm.lsid.wsdl.LSIDDataPort)1 LSIDMetadataPort (com.ibm.lsid.wsdl.LSIDMetadataPort)1 LSIDPort (com.ibm.lsid.wsdl.LSIDPort)1 LSIDPortFactory (com.ibm.lsid.wsdl.LSIDPortFactory)1 LSIDStandardPort (com.ibm.lsid.wsdl.LSIDStandardPort)1 FileBinding (com.ibm.wsdl.extensions.file.FileBinding)1 FTPBinding (com.ibm.wsdl.extensions.ftp.FTPBinding)1 Map (java.util.Map)1 Binding (javax.wsdl.Binding)1 Port (javax.wsdl.Port)1 PortType (javax.wsdl.PortType)1 Service (javax.wsdl.Service)1 QName (javax.xml.namespace.QName)1