public static String relativizeResourcePath( String path, ModelItem modelItem )
{
if( modelItem == null || StringUtils.isNullOrEmpty( path ) || isRelativePath( path ) || isHttpPath( path ) )
return path;
Project project = ModelSupport.getModelItemProject( modelItem );
if( project == null )
return path;
if( StringUtils.isNullOrEmpty( project.getPath() ) && project.getResourceRoot().indexOf( "${projectDir}" ) >= 0 )
{
if( UISupport.confirm( "Save project before setting path?", "Project has not been saved" ) )
{
try
{
project.save();
}
catch( IOException e )
{
SoapUI.logError( e );
UISupport.showErrorMessage( e );
return path;
}
}
}
String projectPath = PropertyExpander.expandProperties( project, project.getResourceRoot() );
if( StringUtils.isNullOrEmpty( projectPath ) )
return path;
return PathUtils.relativize( path, projectPath );
}