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.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.wsdl.mock.WsdlMockResponse;
    20  import com.eviware.soapui.impl.wsdl.submit.transports.http.AttachmentUtils;
    21
    22  /***
    23   * Attachment for a WsdlMockResponse
    24   *
    25   * @author Ole.Matzura
    26   */
    27
    28  public class MockFileAttachment extends FileAttachment
    29  {
    30  	private final WsdlMockResponse mockResponse;
    31
    32  	public MockFileAttachment( AttachmentConfig config, WsdlMockResponse mockResponse )
    33  	{
    34  		super( config );
    35  		this.mockResponse = mockResponse;
    36  	}
    37
    38  	public MockFileAttachment( File file, boolean cache, WsdlMockResponse response ) throws IOException
    39  	{
    40  		super(file, cache, response.getConfig().addNewAttachment());
    41  		mockResponse = response;
    42  	}
    43
    44  	@Override
    45  	public AttachmentType getAttachmentType()
    46  	{
    47  		if( getPart() == null || mockResponse.getAttachmentPart( getPart() ) == null )
    48  			return AttachmentType.UNKNOWN;
    49  		else
    50  			return mockResponse.getAttachmentPart( getPart() ).getAttachmentType();
    51  	}
    52
    53  	public AttachmentEncoding getEncoding()
    54  	{
    55  		if( mockResponse.isEncodeAttachments() )
    56  		{
    57  			return AttachmentUtils.getAttachmentEncoding( mockResponse.getMockOperation().getOperation(), getPart(), true );
    58  		}
    59  		else
    60  		{
    61  			return AttachmentEncoding.NONE;
    62  		}
    63  	}
    64  }