Package com.eviware.soapui.support.xml

Examples of com.eviware.soapui.support.xml.XmlObjectTreeModel


    }

    @Override
    protected void execute(SecurityTestRunner runner, TestStep testStep, SecurityTestRunContext context) {
        StringToStringMap parameters = new StringToStringMap();
        XmlObjectTreeModel model = null;
        for (SecurityCheckedParameter scp : getParameterHolder().getParameterList()) {
            if (scp.isChecked()) {
                if (scp.getXpath().trim().length() > 0) {
                    model = SecurityScanUtil.getXmlObjectTreeModel(testStep, scp);
                    XmlTreeNode[] treeNodes = null;
                    treeNodes = model.selectTreeNodes(context.expand(scp.getXpath()));
                    if (treeNodes.length > 0) {
                        XmlTreeNode mynode = treeNodes[0];
                        String fuzzed = fuzzedValue();
                        mynode.setValue(1, fuzzed);
                        parameters.put(scp.getLabel(), fuzzed);
                    }
                    updateRequestProperty(testStep, scp.getName(), model.getXmlObject().toString());

                } else {
                    String fuzzed = fuzzedValue();
                    parameters.put(scp.getLabel(), fuzzed);
                    updateRequestProperty(testStep, scp.getName(), fuzzed);
View Full Code Here


    public TreeMap<String, NodeInfo> extract() throws XmlException, Exception {
        // XmlObjectTreeModel model = new XmlObjectTreeModel(
        // request.getOperation().getInterface().getDefinitionContext()
        // .getSchemaTypeSystem(), XmlObject.Factory.parse(
        // request.getRequestContent() ) );
        XmlObjectTreeModel model = new XmlObjectTreeModel(request.getOperation().getInterface().getDefinitionContext()
                .getSchemaTypeSystem(), XmlUtils.createXmlObject(request.getRequestContent()));

        nodes = getElements(model.getRootNode());

        // these two lines used for testing
        for (NodeInfo node : nodes.values()) {
            printNode(node);
        }
View Full Code Here

        scriptEngine.setVariable("log", SoapUI.ensureGroovyLog());

        try {
            scriptResult = scriptEngine.run();
            hasNext = castResultToBoolean(scriptResult);
            XmlObjectTreeModel model = null;
            for (SecurityCheckedParameter scp : getParameterHolder().getParameterList()) {
                if (parameters.containsKey(scp.getLabel()) && parameters.get(scp.getLabel()) != null) {
                    if (scp.isChecked() && scp.getXpath().trim().length() > 0) {
                        model = SecurityScanUtil.getXmlObjectTreeModel(testStep, scp);
                        XmlTreeNode[] treeNodes = null;
                        treeNodes = model.selectTreeNodes(context.expand(scp.getXpath()));
                        if (treeNodes.length > 0) {
                            XmlTreeNode mynode = treeNodes[0];
                            mynode.setValue(1, parameters.get(scp.getLabel()));
                        }
                        updateRequestProperty(testStep, scp.getName(), model.getXmlObject().toString());

                    } else {
                        updateRequestProperty(testStep, scp.getName(), parameters.get(scp.getLabel()));
                    }
                } else if (parameters.containsKey(scp.getLabel()) && parameters.get(scp.getLabel()) == null) {// clears null values form parameters
View Full Code Here

        try {
            // model = new XmlObjectTreeModel(
            // request.getOperation().getInterface().getDefinitionContext()
            // .getSchemaTypeSystem(), XmlObject.Factory.parse(
            // request.getRequestContent() ) );
            model = new XmlObjectTreeModel(request.getOperation().getInterface().getDefinitionContext()
                    .getSchemaTypeSystem(), XmlUtils.createXmlObject(request.getRequestContent()));
        } catch (Exception e) {
            SoapUI.logError(e);
        }
View Full Code Here

    public static boolean prepareMessagePart(WsdlAttachmentContainer container, MimeMultipart mp,
                                             MessageXmlPart messagePart, StringToStringMap contentIds) throws Exception, MessagingException {
        boolean isXop = false;

        XmlObjectTreeModel treeModel = null;
        XmlCursor cursor = messagePart.newCursor();
        XmlObject rootXmlObject = cursor.getObject();

        try {
            while (!cursor.isEnddoc()) {
                if (cursor.isContainer()) {
                    // could be an attachment part (as of "old" SwA specs which
                    // specify a content
                    // element referring to the attachment)
                    if (messagePart.isAttachmentPart()) {
                        String href = cursor.getAttributeText(XOP_HREF_QNAME);
                        if (href != null && href.length() > 0) {
                            contentIds.put(messagePart.getPart().getName(), href);
                        }

                        break;
                    }

                    XmlObject xmlObj = cursor.getObject();
                    SchemaType schemaType = xmlObj.schemaType();
                    if (schemaType.isNoType()) {
                        if (treeModel == null) {
                            treeModel = new XmlObjectTreeModel(messagePart.getSchemaType().getTypeSystem(), rootXmlObject);
                        }

                        XmlTreeNode tn = treeModel.getXmlTreeNode(xmlObj);
                        if (tn != null) {
                            schemaType = tn.getSchemaType();
                        }
                    }
View Full Code Here

                            // try
                            {
                                // XmlObjectTreeModel model = new XmlObjectTreeModel(
                                // property.getSchemaType().getTypeSystem(),
                                // XmlObject.Factory.parse( value ) );
                                XmlObjectTreeModel model = new XmlObjectTreeModel(property.getSchemaType().getTypeSystem(),
                                        XmlUtils.createXmlObject(value));
                                XmlTreeNode[] nodes = model.selectTreeNodes(context.expand(param.getXpath()));
                                for (XmlTreeNode node : nodes) {
                                    node.setValue(1, parameterMutations.get(param).get(0));
                                }
                                params.put(param.getLabel(), parameterMutations.get(param).get(0));
                                parameterMutations.get(param).remove(0);

                                testStep.getProperties().get(param.getName()).setValue(model.getXmlObject().toString());

                            }
                        }
                        break;
                    }
                }
            }
        } else {
            for (TestProperty property : testStep.getPropertyList()) {

                String value = context.expand(property.getValue());
                if (XmlUtils.seemsToBeXml(value)) {
                    XmlObjectTreeModel model = null;
                    // model = new XmlObjectTreeModel(
                    // property.getSchemaType().getTypeSystem(),
                    // XmlObject.Factory.parse( value ) );
                    model = new XmlObjectTreeModel(property.getSchemaType().getTypeSystem(),
                            XmlUtils.createXmlObject(value));

                    for (SecurityCheckedParameter param : getParameterHolder().getParameterList()) {
                        if (param.getXpath() == null || param.getXpath().trim().length() == 0) {
                            testStep.getProperties().get(param.getName())
                                    .setValue(parameterMutations.get(param).get(0));
                            params.put(param.getLabel(), parameterMutations.get(param).get(0));
                            parameterMutations.get(param).remove(0);
                        } else {
                            // no value, do nothing.
                            if (value == null || value.trim().equals("")) {
                                continue;
                            }
                            if (param.getName().equals(property.getName())) {
                                XmlTreeNode[] nodes = model.selectTreeNodes(context.expand(param.getXpath()));
                                if (parameterMutations.containsKey(param)) {
                                    if (parameterMutations.get(param).size() > 0) {
                                        for (XmlTreeNode node : nodes) {
                                            node.setValue(1, parameterMutations.get(param).get(0));
                                        }
                                        params.put(param.getLabel(), parameterMutations.get(param).get(0));
                                        parameterMutations.get(param).remove(0);
                                    }
                                }
                            }
                        }
                    }
                    if (model != null) {
                        property.setValue(model.getXmlObject().toString());
                    }

                }
            }
        }
View Full Code Here

                    if (XmlUtils.seemsToBeXml(value)) {

                        // XmlObjectTreeModel model = new XmlObjectTreeModel(
                        // property.getSchemaType().getTypeSystem(),
                        // XmlObject.Factory.parse( value ) );
                        XmlObjectTreeModel model = new XmlObjectTreeModel(property.getSchemaType().getTypeSystem(),
                                XmlUtils.createXmlObject(value));

                        XmlTreeNode[] nodes = model.selectTreeNodes(context.expand(parameter.getXpath()));

                        // for each invalid type set all nodes
                        List<SchemaTypeForSecurityScanConfig> invalidTypes = invalidTypeConfig.getTypesListList();

                        for (SchemaTypeForSecurityScanConfig type : invalidTypes) {
View Full Code Here

            return;
        }
        String name = parameter.getName();
        String xpath = parameter.getXpath();
        TestProperty tp = getTestStep().getProperty(name);
        XmlObjectTreeModel xmlObjectTreeModel = null;
        if (tp.getSchemaType() != null && XmlUtils.seemsToBeXml(tp.getValue())) {
            try {
                // xmlObjectTreeModel = new XmlObjectTreeModel(
                // tp.getSchemaType().getTypeSystem(),
                // XmlObject.Factory.parse( tp.getValue() ) );
                xmlObjectTreeModel = new XmlObjectTreeModel(tp.getSchemaType().getTypeSystem(),
                        XmlUtils.createXmlObject(tp.getValue()));
            } catch (XmlException e) {
                SoapUI.logError(e);
            }

            XmlTreeNode[] treeNodes = xmlObjectTreeModel.selectTreeNodes(xpath);

            if (treeNodes.length == 0) {
                typeLabel.setJlabel("");
                return;
            }

            SchemaTypeImpl simpleType = (SchemaTypeImpl) treeNodes[0].getSchemaType();
            if (simpleType != null && !simpleType.isNoType()) {
                XmlObjectTreeModel model2 = new XmlObjectTreeModel(simpleType.getTypeSystem(), simpleType.getParseObject());
                List<String> list = BoundaryRestrictionUtill.getType(model2.getRootNode(), new ArrayList<String>());
                if (list.isEmpty()) {
                    typeLabel.setJlabel("parameter has type [" + simpleType.getName() + "]");
                } else {
                    typeLabel.setJlabel("parameter has types [" + list.toString() + "]");
                }
View Full Code Here

            // property expansion support
            value = context.expand(value);

            PropertyMutation allAtOncePropertyMutation = new PropertyMutation();
            TestStep testStepCopy = null;
            XmlObjectTreeModel model = null;
            List<SecurityCheckedParameter> scpList = getParameterHolder().getParameterList();
            StringToStringMap stsmap = new StringToStringMap();
            for (SecurityCheckedParameter scp : scpList) {

                if (strategy.equals(StrategyTypeConfig.ONE_BY_ONE)) {
                    stsmap = new StringToStringMap();
                    model = SecurityScanUtil.getXmlObjectTreeModel(testStep, scp);
                    testStepCopy = SecurityTestRunnerImpl.cloneTestStepForSecurityScan((WsdlTestStep) testStep);
                } else {
                    if (model == null) {
                        model = SecurityScanUtil.getXmlObjectTreeModel(testStep, scp);
                    }
                    if (testStepCopy == null) {
                        testStepCopy = SecurityTestRunnerImpl.cloneTestStepForSecurityScan((WsdlTestStep) testStep);
                    }
                }

                // if parameter is xml
                if (scp.isChecked() && scp.getXpath().trim().length() > 0) {
                    XmlTreeNode[] treeNodes = null;

                    treeNodes = model.selectTreeNodes(context.expand(scp.getXpath()));

                    if (treeNodes.length > 0) {
                        XmlTreeNode mynode = treeNodes[0];

                        // work only for simple types
                        if (mynode.isLeaf()) {
                            mynode.setValue(1, value);

                            if (strategy.equals(StrategyTypeConfig.ONE_BY_ONE)) {
                                PropertyMutation oneByOnePropertyMutation = new PropertyMutation();
                                oneByOnePropertyMutation.setPropertyName(scp.getName());
                                oneByOnePropertyMutation.setPropertyValue(unescapEscaped(model.getXmlObject().toString()));
                                stsmap.put(scp.getLabel(), mynode.getNodeText());
                                oneByOnePropertyMutation.setMutatedParameters(stsmap);
                                oneByOnePropertyMutation.updateRequestProperty(testStepCopy);
                                oneByOnePropertyMutation.setTestStep(testStepCopy);
                                oneByOnePropertyMutation.addMutation(context);
                            } else {
                                allAtOncePropertyMutation.setPropertyName(scp.getName());
                                allAtOncePropertyMutation.setPropertyValue(unescapEscaped(model.getXmlObject().toString()));
                                stsmap.put(scp.getLabel(), mynode.getNodeText());
                                allAtOncePropertyMutation.setMutatedParameters(stsmap);
                                allAtOncePropertyMutation.updateRequestProperty(testStepCopy);
                                allAtOncePropertyMutation.setTestStep(testStepCopy);
View Full Code Here

                                continue;
                            }
                            // XmlObjectTreeModel model = new XmlObjectTreeModel(
                            // property.getSchemaType().getTypeSystem(),
                            // XmlObject.Factory.parse( value ) );
                            XmlObjectTreeModel model = new XmlObjectTreeModel(property.getSchemaType().getTypeSystem(),
                                    XmlUtils.createXmlObject(value));
                            XmlTreeNode[] nodes = model.selectTreeNodes(context.expand(param.getXpath()));
                            for (XmlTreeNode node : nodes) {
                                node.setValue(1, parameterMutations.get(param).get(0));
                            }
                            params.put(param.getLabel(), parameterMutations.get(param).get(0));
                            parameterMutations.get(param).remove(0);

                            testStep.getProperties().get(param.getName()).setValue(model.getXmlObject().toString());
                        }

                        break;
                    }
                }
            }
        } else {
            for (TestProperty property : testStep.getPropertyList()) {

                String value = context.expand(property.getValue());
                if (XmlUtils.seemsToBeXml(value)) {
                    XmlObjectTreeModel model = null;
                    // model = new XmlObjectTreeModel(
                    // property.getSchemaType().getTypeSystem(),
                    // XmlObject.Factory.parse( value ) );
                    model = new XmlObjectTreeModel(property.getSchemaType().getTypeSystem(),
                            XmlUtils.createXmlObject(value));
                    for (SecurityCheckedParameter param : getParameterHolder().getParameterList()) {
                        if (!param.isChecked()) {
                            continue;
                        }

                        if (param.getXpath() == null || param.getXpath().trim().length() == 0) {
                            if (parameterMutations.containsKey(param)) {
                                testStep.getProperties().get(param.getName())
                                        .setValue(parameterMutations.get(param).get(0));
                                params.put(param.getLabel(), parameterMutations.get(param).get(0));
                                parameterMutations.get(param).remove(0);
                            }
                        } else {
                            // no value, do nothing.
                            if (value == null || value.trim().equals("")) {
                                continue;
                            }
                            if (param.getName().equals(property.getName())) {
                                XmlTreeNode[] nodes = model.selectTreeNodes(context.expand(param.getXpath()));
                                if (parameterMutations.containsKey(param)) {
                                    if (parameterMutations.get(param).size() > 0) {
                                        for (XmlTreeNode node : nodes) {
                                            node.setValue(1, parameterMutations.get(param).get(0));
                                        }
                                        params.put(param.getLabel(), parameterMutations.get(param).get(0));
                                        parameterMutations.get(param).remove(0);
                                    }
                                }
                            }
                        }
                    }
                    if (model != null) {
                        property.setValue(model.getXmlObject().toString());
                    }
                }

            }
        }
View Full Code Here

TOP

Related Classes of com.eviware.soapui.support.xml.XmlObjectTreeModel

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.