Package com.eviware.soapui.monitor

Source Code of com.eviware.soapui.monitor.PropertySupport

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

import java.beans.PropertyDescriptor;
import java.util.Properties;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.PropertyUtils;

import com.eviware.soapui.SoapUI;
import com.eviware.soapui.model.ModelItem;
import com.eviware.soapui.model.propertyexpansion.DefaultPropertyExpansionContext;

public class PropertySupport
{
  public static void applySystemProperties( Object target, String scope, ModelItem modelItem )
  {
    PropertyDescriptor[] descriptors = PropertyUtils.getPropertyDescriptors( target );
    DefaultPropertyExpansionContext context = new DefaultPropertyExpansionContext( modelItem );
    Properties properties = System.getProperties();

    for( PropertyDescriptor descriptor : descriptors )
    {
      String name = descriptor.getName();
      String key = scope + "." + name;
      if( PropertyUtils.isWriteable( target, name ) && properties.containsKey( key ) )
      {
        try
        {
          String value = context.expand( String.valueOf( properties.get( key ) ) );
          BeanUtils.setProperty( target, name, value );
          SoapUI.log.info( "Set property [" + name + "] to [" + value + "] in scope [" + scope + "]" );
        }
        catch( Throwable e )
        {
          SoapUI.logError( e );
        }
      }
    }
  }

}
TOP

Related Classes of com.eviware.soapui.monitor.PropertySupport

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.