View Javadoc

1   /*
2    *  soapUI, copyright (C) 2004-2010 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.model.propertyexpansion.resolvers;
14  
15  import com.eviware.soapui.model.mock.MockRunContext;
16  import com.eviware.soapui.model.propertyexpansion.PropertyExpansion;
17  import com.eviware.soapui.model.propertyexpansion.PropertyExpansionContext;
18  
19  public class MockRunPropertyResolver implements PropertyResolver
20  {
21  	public String resolveProperty( PropertyExpansionContext context, String propertyName, boolean globalOverride )
22  	{
23  		if( propertyName.charAt( 0 ) != PropertyExpansion.SCOPE_PREFIX || !( context instanceof MockRunContext ) )
24  			return null;
25  
26  		MockRunContext mrc = ( MockRunContext )context;
27  
28  		// explicit item reference?
29  		String value = ResolverUtils.checkForExplicitReference( propertyName, PropertyExpansion.PROJECT_REFERENCE, mrc
30  				.getMockService().getProject(), mrc, globalOverride );
31  		if( value != null )
32  			return value;
33  
34  		value = ResolverUtils.checkForExplicitReference( propertyName, PropertyExpansion.MOCKSERVICE_REFERENCE, mrc
35  				.getMockService(), mrc, globalOverride );
36  		if( value != null )
37  			return value;
38  
39  		return ResolverUtils.checkForExplicitReference( propertyName, PropertyExpansion.MOCKRESPONSE_REFERENCE, mrc
40  				.getMockResponse(), mrc, globalOverride );
41  	}
42  }