View Javadoc

    1   /*
    2    *  soapUI, copyright (C) 2004-2007 eviware.com
    3    *
    4    *  soapUI is free software; you can redistribute it and/or modify it under the
    5    *  terms of version 2.1 of the GNU Lesser General Public License as published by
    6    *  the Free Software Foundation.
    7    *
    8    *  soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
    9    *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    10   *  See the GNU Lesser General Public License for more details at gnu.org.
    11   */
    12
    13  package com.eviware.soapui.impl.wsdl.submit.filters;
    14
    15  import org.apache.log4j.Logger;
    16
    17  import com.eviware.soapui.impl.wsdl.WsdlRequest;
    18  import com.eviware.soapui.impl.wsdl.submit.RequestFilter;
    19  import com.eviware.soapui.impl.wsdl.submit.transports.http.BaseHttpRequestTransport;
    20  import com.eviware.soapui.model.iface.SubmitContext;
    21  import com.eviware.soapui.support.xml.XmlUtils;
    22
    23  /***
    24   * RequestFilter for stripping whitespaces
    25   *
    26   * @author Ole.Matzura
    27   */
    28
    29  public class StripWhitespacesRequestFilter implements RequestFilter
    30  {
    31  	private final static Logger log = Logger.getLogger(PropertyExpansionRequestFilter.class);
    32
    33  	public void filterRequest(SubmitContext context, WsdlRequest wsdlRequest)
    34  	{
    35  		if( !wsdlRequest.isStripWhitespaces())
    36  			return;
    37
    38  		String content = (String) context.getProperty( BaseHttpRequestTransport.REQUEST_CONTENT );
    39  		if( content == null )
    40  		{
    41  			log.warn( "Missing request content in context, skipping stripWhitespaces" );
    42  		}
    43  		else
    44  		{
    45  			content = XmlUtils.stripWhitespaces( content );
    46  			context.setProperty( BaseHttpRequestTransport.REQUEST_CONTENT, content );
    47  		}
    48  	}
    49  }