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.support;
14  
15  import java.io.File;
16  import java.io.IOException;
17  
18  import com.eviware.soapui.config.AttachmentConfig;
19  import com.eviware.soapui.impl.support.AbstractHttpRequest;
20  import com.eviware.soapui.impl.wsdl.WsdlAttachmentContainer;
21  
22  /***
23   * Attachment for a WsdlRequest
24   * 
25   * @author ole.matzura
26   */
27  
28  public class RequestFileAttachment extends FileAttachment<AbstractHttpRequest<?>>
29  {
30  	public RequestFileAttachment( AttachmentConfig config, AbstractHttpRequest<?> request )
31  	{
32  		super( request, config );
33  	}
34  
35  	public RequestFileAttachment( File file, boolean cache, AbstractHttpRequest<?> request ) throws IOException
36  	{
37  		super( request, file, cache, request.getConfig().addNewAttachment() );
38  	}
39  
40  	public AttachmentEncoding getEncoding()
41  	{
42  		AbstractHttpRequest<?> request = getModelItem();
43  		if( request instanceof WsdlAttachmentContainer && ((WsdlAttachmentContainer)request).isEncodeAttachments() )
44  			return ((WsdlAttachmentContainer)request).getAttachmentEncoding( getPart() );
45  		else
46  			return AttachmentEncoding.NONE;
47  	}
48  
49  	@Override
50  	public AttachmentType getAttachmentType()
51  	{
52  		if( getModelItem() == null || getPart() == null || getModelItem().getAttachmentPart( getPart() ) == null )
53  			return AttachmentType.UNKNOWN;
54  		else
55  			return getModelItem().getAttachmentPart( getPart() ).getAttachmentType();
56  	}
57  }