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.actions.project;
    14
    15  import java.io.File;
    16
    17  import com.eviware.soapui.impl.wsdl.WsdlProject;
    18  import com.eviware.soapui.support.SoapUIException;
    19  import com.eviware.soapui.support.UISupport;
    20  import com.eviware.soapui.support.action.support.AbstractSoapUIAction;
    21
    22  /***
    23   * Prompts to reload the specified WsdlProject
    24   *
    25   * @author ole.matzura
    26   */
    27
    28  public class ReloadProjectAction extends AbstractSoapUIAction<WsdlProject>
    29  {
    30  	public static final String SOAPUI_ACTION_ID = "ReloadProjectAction";
    31
    32  	public ReloadProjectAction()
    33  	{
    34  		super( "Reload Project", "Reloads this project from file" );
    35  	}
    36
    37  	public void perform( WsdlProject project, Object param )
    38  	{
    39  		if( project.isRemote() )
    40  		{
    41  			String path = UISupport.prompt( "Reload remote project URL", getName(), project.getPath() );
    42  			if( path != null )
    43  			{
    44  				try
    45  				{
    46  					project.reload( path );
    47  				}
    48  				catch( SoapUIException ex )
    49  				{
    50  					UISupport.showErrorMessage( ex );
    51  				}
    52  			}
    53  		}
    54  		else
    55  		{
    56  			File file = UISupport.getFileDialogs().open( this, "Reload Project", ".xml", "soapUI Project Files (*.xml)", project.getPath() );
    57  			if( file != null )
    58  			{
    59  				try
    60  				{
    61  					project.reload( file.getAbsolutePath() );
    62  				}
    63  				catch( SoapUIException ex )
    64  				{
    65  					UISupport.showErrorMessage( ex );
    66  				}
    67  			}
    68  		}
    69  	}
    70  }