View Javadoc

1   /*
2    *  soapUI, copyright (C) 2004-2010 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 com.eviware.soapui.impl.rest.RestRequestInterface;
16  import com.eviware.soapui.impl.support.AbstractHttpRequest;
17  import com.eviware.soapui.impl.support.AbstractHttpRequestInterface;
18  import com.eviware.soapui.impl.support.http.HttpRequestInterface;
19  import com.eviware.soapui.impl.wsdl.WsdlRequest;
20  import com.eviware.soapui.impl.wsdl.submit.RequestFilter;
21  import com.eviware.soapui.impl.wsdl.submit.transports.http.BaseHttpRequestTransport;
22  import com.eviware.soapui.model.iface.Request;
23  import com.eviware.soapui.model.iface.Response;
24  import com.eviware.soapui.model.iface.SubmitContext;
25  
26  public abstract class AbstractRequestFilter implements RequestFilter
27  {
28  	public void filterRequest( SubmitContext context, Request request )
29  	{
30  		if( request instanceof AbstractHttpRequestInterface<?> )
31  			filterAbstractHttpRequest( context, ( AbstractHttpRequest<?> )request );
32  	}
33  
34  	public void filterAbstractHttpRequest( SubmitContext context, AbstractHttpRequest<?> request )
35  	{
36  		if( request instanceof WsdlRequest )
37  			filterWsdlRequest( context, ( WsdlRequest )request );
38  		else if( request instanceof RestRequestInterface )
39  			filterRestRequest( context, ( RestRequestInterface )request );
40  		else if( request instanceof HttpRequestInterface<?> )
41  			filterHttpRequest( context, ( HttpRequestInterface<?> )request );
42  	}
43  
44  	public void filterWsdlRequest( SubmitContext context, WsdlRequest request )
45  	{
46  	}
47  
48  	public void filterRestRequest( SubmitContext context, RestRequestInterface request )
49  	{
50  	}
51  
52  	public void filterHttpRequest( SubmitContext context, HttpRequestInterface<?> request )
53  	{
54  	}
55  
56  	public void afterRequest( SubmitContext context, Request request )
57  	{
58  		// do this for backwards compatibility
59  		Response response = ( Response )context.getProperty( BaseHttpRequestTransport.RESPONSE );
60  		if( response != null )
61  			afterRequest( context, response );
62  
63  		if( request instanceof AbstractHttpRequestInterface<?> )
64  			afterAbstractHttpResponse( context, ( AbstractHttpRequestInterface<?> )request );
65  	}
66  
67  	public void afterAbstractHttpResponse( SubmitContext context, AbstractHttpRequestInterface<?> request )
68  	{
69  		if( request instanceof WsdlRequest )
70  			afterWsdlRequest( context, ( WsdlRequest )request );
71  		else if( request instanceof RestRequestInterface )
72  			afterRestRequest( context, ( RestRequestInterface )request );
73  		else if( request instanceof HttpRequestInterface<?> )
74  			afterHttpRequest( context, ( HttpRequestInterface<?> )request );
75  	}
76  
77  	public void afterWsdlRequest( SubmitContext context, WsdlRequest request )
78  	{
79  	}
80  
81  	public void afterRestRequest( SubmitContext context, RestRequestInterface request )
82  	{
83  	}
84  
85  	public void afterHttpRequest( SubmitContext context, HttpRequestInterface<?> request )
86  	{
87  	}
88  
89  	public void afterRequest( SubmitContext context, Response response )
90  	{
91  	}
92  }