Package com.eviware.soapui.support.xml

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


      if( tp.getSchemaType() != null && XmlUtils.seemsToBeXml( tp.getValue() ) )
      {
        // return new XmlObjectTreeModel(
        // tp.getSchemaType().getTypeSystem(), XmlObject.Factory.parse(
        // tp.getValue() ) );
        return new XmlObjectTreeModel( tp.getSchemaType().getTypeSystem(), XmlUtils.createXmlObject( tp.getValue() ) );
      }
    }
    catch( Exception e )
    {
      SoapUI.logError( e );
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

  private void extractMutations( TestStep testStep, SecurityTestRunContext context ) throws XmlException, Exception
  {
    strategy = getExecutionStrategy().getStrategy();

    XmlObjectTreeModel model = null;// getXmlObjectTreeModel( testStep );
    List<SecurityCheckedParameter> scpList = getParameterHolder().getParameterList();
    StringToStringMap stsmap = new StringToStringMap();
    for( SecurityCheckedParameter scp : scpList )
    {
      if( scp.isChecked() && scp.getXpath().trim().length() > 0 )
      {
        XmlTreeNode[] treeNodes = null;

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

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

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

          if( mynode.isLeaf() )
          {
            if( mynode.getSchemaType() != null && mynode.getSchemaType().getEnumerationValues() != null
                && mynode.getSchemaType().getEnumerationValues().length > 0 )
            {
              EnumerationValues nodeInfo = new EnumerationValues( mynode.getSchemaType().getBaseType()
                  .getShortJavaName() );
              for( XmlAnySimpleType s : mynode.getSchemaType().getEnumerationValues() )
              {
                nodeInfo.addValue( s.getStringValue() );
              }
              updateEnumNodeValue( mynode, nodeInfo );
              stsmap.put( scp.getLabel(), mynode.getNodeText() );
              // addToUpdated( context, scp.getLabel(),
              // mynode.getNodeText() );
              if( strategy.equals( StrategyTypeConfig.ONE_BY_ONE ) )
              {
                PropertyMutation pm = new PropertyMutation();
                pm.setPropertyName( scp.getName() );
                pm.setPropertyValue( model.getXmlObject().toString() );
                stsmap = new StringToStringMap();
                stsmap.put( scp.getLabel(), mynode.getNodeText() );
                pm.setMutatedParameters( stsmap );
                addMutation( context, pm );
              }
            }
            else
            {
              SchemaTypeImpl simpleType = ( SchemaTypeImpl )mynode.getSchemaType();
              XmlObjectTreeModel model2 = new XmlObjectTreeModel( simpleType.getTypeSystem(),
                  simpleType.getParseObject() );
              extractRestrictions( model2, context, mynode, model, scp, stsmap );
            }
          }
        }
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 )
      {
        restrictionLabel.setJlabel( "<html><pre>    </pre></html>" );
        return;
      }
      List<String> list = null;
      if( treeNodes[0].getSchemaType() != null && treeNodes[0].getSchemaType().getEnumerationValues() != null )
      {
        list = BoundaryRestrictionUtill.extractEnums( treeNodes[0] );
        restrictionLabel.setJlabel( list.toString().replaceFirst( ",", "" ) );
      }
      else
      {
        SchemaTypeImpl simpleType = ( SchemaTypeImpl )treeNodes[0].getSchemaType();
        if( simpleType != null && !simpleType.isNoType() )
        {
          XmlObjectTreeModel model2 = new XmlObjectTreeModel( simpleType.getTypeSystem(),
              simpleType.getParseObject() );
          list = BoundaryRestrictionUtill.getRestrictions( model2.getRootNode(), new ArrayList<String>() );
          if( list.isEmpty() )
          {
            list.add( "No restrictions in schema are specified for this parameter!" );
          }
          restrictionLabel.setJlabel( list.toString() );
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

          {

            // 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

              if( value == null || value.trim().equals( "" ) )
                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() );
        }
      }
    }
    return params;
  }
View Full Code Here

          // get value of that property
          String value = context.expand( property.getValue() );

          // we have something that looks like xpath, or hope so.

          XmlObjectTreeModel model = null;

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

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

          // for each invalid type set all nodes

          for( String sqlInjectionString : sqlInjectionConfig.getSqlInjectionStringsList() )
          {
View Full Code Here

  @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();
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.