View Javadoc

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