Package com.eviware.soapui.model.propertyexpansion

Source Code of com.eviware.soapui.model.propertyexpansion.PropertyExpansionImpl

/*
*  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.model.propertyexpansion;

import com.eviware.soapui.impl.wsdl.teststeps.TestRequest;
import com.eviware.soapui.model.ModelItem;
import com.eviware.soapui.model.mock.MockResponse;
import com.eviware.soapui.model.mock.MockService;
import com.eviware.soapui.model.project.Project;
import com.eviware.soapui.model.testsuite.TestCase;
import com.eviware.soapui.model.testsuite.TestProperty;
import com.eviware.soapui.model.testsuite.TestStep;
import com.eviware.soapui.model.testsuite.TestSuite;
import com.eviware.soapui.security.SecurityTest;
import com.eviware.soapui.support.StringUtils;

public class PropertyExpansionImpl implements PropertyExpansion
{
  private String xpath;
  private TestProperty property;
  private String containerInfo;

  public PropertyExpansionImpl( TestProperty property, String xpath )
  {
    this.property = property;
    this.xpath = xpath;

    containerInfo = property.getName();
    if( property.getModelItem() != null )
      containerInfo += " in " + property.getModelItem().getName();
  }

  public TestProperty getProperty()
  {
    return property;
  }

  public String toString()
  {
    StringBuffer result = new StringBuffer();
    result.append( "${" );

    ModelItem modelItem = property.getModelItem();

    if( modelItem instanceof Project )
      result.append( PropertyExpansionImpl.PROJECT_REFERENCE );
    else if( modelItem instanceof TestSuite )
      result.append( PropertyExpansionImpl.TESTSUITE_REFERENCE );
    else if( modelItem instanceof TestCase )
      result.append( PropertyExpansionImpl.TESTCASE_REFERENCE );
    else if( modelItem instanceof SecurityTest )
      result.append( PropertyExpansionImpl.SECURITYTEST_REFERENCE );
    else if( modelItem instanceof MockService )
      result.append( PropertyExpansionImpl.MOCKSERVICE_REFERENCE );
    else if( modelItem instanceof MockResponse )
      result.append( PropertyExpansionImpl.MOCKRESPONSE_REFERENCE );
    else if( modelItem instanceof TestStep )
      result.append( modelItem.getName() ).append( PROPERTY_SEPARATOR );
    else if( modelItem instanceof TestRequest )
      result.append( ( ( TestRequest )modelItem ).getTestStep().getName() ).append( PROPERTY_SEPARATOR );

    result.append( property.getName() );
    if( StringUtils.hasContent( xpath ) )
      result.append( PROPERTY_SEPARATOR ).append( xpath );

    result.append( '}' );

    return result.toString();
  }

  public String getXPath()
  {
    return xpath;
  }

  public String getContainerInfo()
  {
    return containerInfo;
  }

  public void setContainerInfo( String containerInfo )
  {
    this.containerInfo = containerInfo;
  }

  protected void setProperty( TestProperty property )
  {
    this.property = property;
  }

  protected void setXPath( String xpath )
  {
    this.xpath = xpath;
  }
}
TOP

Related Classes of com.eviware.soapui.model.propertyexpansion.PropertyExpansionImpl

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.