Search in sources :

Example 6 with XNode

use of org.apache.cxf.tools.validator.internal.model.XNode in project cxf by apache.

the class WSDLRefValidator method collectValidationPointsForBindings.

private void collectValidationPointsForBindings() throws Exception {
    Map<QName, XNode> vBindingNodes = new HashMap<>();
    for (Service service : services.values()) {
        vBindingNodes.putAll(getBindings(service));
    }
    for (Map.Entry<QName, XNode> entry : vBindingNodes.entrySet()) {
        QName bName = entry.getKey();
        Binding binding = this.definition.getBinding(bName);
        if (binding == null) {
            LOG.log(Level.SEVERE, bName.toString() + " is not correct, please check that the correct namespace is being used");
            throw new Exception(bName.toString() + " is not correct, please check that the correct namespace is being used");
        }
        XNode vBindingNode = getXNode(binding);
        vBindingNode.setFailurePoint(entry.getValue());
        vNodes.add(vBindingNode);
        if (binding.getPortType() == null) {
            continue;
        }
        portTypeRefNames.add(binding.getPortType().getQName());
        XNode vPortTypeNode = getXNode(binding.getPortType());
        vPortTypeNode.setFailurePoint(vBindingNode);
        vNodes.add(vPortTypeNode);
        Collection<BindingOperation> bops = CastUtils.cast(binding.getBindingOperations());
        for (BindingOperation bop : bops) {
            XNode vOpNode = getOperationXNode(vPortTypeNode, bop.getName());
            XNode vBopNode = getOperationXNode(vBindingNode, bop.getName());
            vOpNode.setFailurePoint(vBopNode);
            vNodes.add(vOpNode);
            if (bop.getBindingInput() != null) {
                String inName = bop.getBindingInput().getName();
                if (!StringUtils.isEmpty(inName)) {
                    XNode vInputNode = getInputXNode(vOpNode, inName);
                    vInputNode.setFailurePoint(getInputXNode(vBopNode, inName));
                    vNodes.add(vInputNode);
                }
            }
            if (bop.getBindingOutput() != null) {
                String outName = bop.getBindingOutput().getName();
                if (!StringUtils.isEmpty(outName)) {
                    XNode vOutputNode = getOutputXNode(vOpNode, outName);
                    vOutputNode.setFailurePoint(getOutputXNode(vBopNode, outName));
                    vNodes.add(vOutputNode);
                }
            }
            for (Iterator<?> iter1 = bop.getBindingFaults().keySet().iterator(); iter1.hasNext(); ) {
                String faultName = (String) iter1.next();
                XNode vFaultNode = getFaultXNode(vOpNode, faultName);
                vFaultNode.setFailurePoint(getFaultXNode(vBopNode, faultName));
                vNodes.add(vFaultNode);
            }
        }
    }
}
Also used : XBinding(org.apache.cxf.tools.validator.internal.model.XBinding) Binding(javax.wsdl.Binding) HashMap(java.util.HashMap) QName(javax.xml.namespace.QName) XNode(org.apache.cxf.tools.validator.internal.model.XNode) Service(javax.wsdl.Service) XService(org.apache.cxf.tools.validator.internal.model.XService) URISyntaxException(java.net.URISyntaxException) ToolException(org.apache.cxf.tools.common.ToolException) BindingOperation(javax.wsdl.BindingOperation) Map(java.util.Map) HashMap(java.util.HashMap)

Aggregations

XNode (org.apache.cxf.tools.validator.internal.model.XNode)6 QName (javax.xml.namespace.QName)3 ToolException (org.apache.cxf.tools.common.ToolException)3 URISyntaxException (java.net.URISyntaxException)2 HashMap (java.util.HashMap)2 Binding (javax.wsdl.Binding)2 BindingOperation (javax.wsdl.BindingOperation)2 Message (org.apache.cxf.common.i18n.Message)2 XBinding (org.apache.cxf.tools.validator.internal.model.XBinding)2 XMessage (org.apache.cxf.tools.validator.internal.model.XMessage)2 XPort (org.apache.cxf.tools.validator.internal.model.XPort)2 HashSet (java.util.HashSet)1 Map (java.util.Map)1 Fault (javax.wsdl.Fault)1 Operation (javax.wsdl.Operation)1 Port (javax.wsdl.Port)1 PortType (javax.wsdl.PortType)1 Service (javax.wsdl.Service)1 FailureLocation (org.apache.cxf.tools.validator.internal.model.FailureLocation)1 XFault (org.apache.cxf.tools.validator.internal.model.XFault)1