Package com.eviware.soapui.security.actions

Source Code of com.eviware.soapui.security.actions.SecurityTestOptionsAction

/*
*  soapUI, copyright (C) 2004-2011 eviware.com
*
*  soapUI is free software; you can redistribute it and/or modify it under the
*  terms of version 2.1 of the GNU Lesser General Public License as published by
*  the Free Software Foundation.
*
*  soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
*  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*  See the GNU Lesser General Public License for more details at gnu.org.
*/

package com.eviware.soapui.security.actions;

import com.eviware.soapui.impl.wsdl.support.HelpUrls;
import com.eviware.soapui.security.SecurityTest;
import com.eviware.soapui.support.UISupport;
import com.eviware.soapui.support.action.support.AbstractSoapUIAction;
import com.eviware.soapui.support.types.StringToStringMap;
import com.eviware.x.form.XForm;
import com.eviware.x.form.XFormDialog;
import com.eviware.x.form.XFormDialogBuilder;
import com.eviware.x.form.XFormFactory;
import com.eviware.x.form.XFormField;
import com.eviware.x.form.XFormFieldListener;

/**
* Options dialog for securitytests
*
* @author dragica.soldo
*/

public class SecurityTestOptionsAction extends AbstractSoapUIAction<SecurityTest>
{
  private static final String FAIL_ON_ERROR = "Abort on Error";
  private static final String FAIL_SECURITYTEST_ON_ERROR = "Fail SecurityTest on Error";
  public static final String SOAPUI_ACTION_ID = "SecurityTestOptionsAction";

  private XFormDialog dialog;
  private XForm form;

  public SecurityTestOptionsAction()
  {
    super( "Options", "Sets options for this SecurityTest" );
  }

  public void perform( SecurityTest securityTest, Object param )
  {
    if( dialog == null )
    {
      XFormDialogBuilder builder = XFormFactory.createDialogBuilder( "SecurityTest Options" );
      form = builder.createForm( "Basic" );
      form.addCheckBox( FAIL_ON_ERROR, "Fail on error" ).addFormFieldListener( new XFormFieldListener()
      {

        public void valueChanged( XFormField sourceField, String newValue, String oldValue )
        {
          form.getFormField( FAIL_SECURITYTEST_ON_ERROR ).setEnabled( !Boolean.parseBoolean( newValue ) );
        }
      } );
      form.addCheckBox( FAIL_SECURITYTEST_ON_ERROR, "Fail SecurityTest if it has failed TestSteps" );

      dialog = builder.buildDialog( builder.buildOkCancelHelpActions( HelpUrls.TESTCASEOPTIONS_HELP_URL ),
          "Specify general options for this SecurityTest", UISupport.OPTIONS_ICON );
    }

    StringToStringMap values = new StringToStringMap();

    values.put( FAIL_ON_ERROR, String.valueOf( securityTest.getFailOnError() ) );
    values.put( FAIL_SECURITYTEST_ON_ERROR, String.valueOf( securityTest.getFailSecurityTestOnScanErrors() ) );
    values = dialog.show( values );

    if( dialog.getReturnValue() == XFormDialog.OK_OPTION )
    {
      try
      {
        securityTest.setFailOnError( Boolean.parseBoolean( values.get( FAIL_ON_ERROR ) ) );
        securityTest.setFailSecurityTestOnScanErrors( Boolean
            .parseBoolean( values.get( FAIL_SECURITYTEST_ON_ERROR ) ) );

      }
      catch( Exception e1 )
      {
        UISupport.showErrorMessage( e1.getMessage() );
      }
    }
  }
}
TOP

Related Classes of com.eviware.soapui.security.actions.SecurityTestOptionsAction

TOP
Copyright © 2018 www.massapi.com. 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.