1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.support.propertyexpansion;
14
15 import com.eviware.soapui.impl.wsdl.teststeps.HttpTestRequestInterface;
16 import com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequest;
17 import com.eviware.soapui.model.ModelItem;
18 import com.eviware.soapui.model.propertyexpansion.PropertyExpansion;
19 import com.eviware.soapui.support.scripting.SoapUIScriptEngineRegistry;
20 import com.eviware.soapui.support.scripting.SoapUIScriptGenerator;
21
22 public abstract class AbstractPropertyExpansionTarget implements PropertyExpansionTarget
23 {
24 private ModelItem modelItem;
25
26 public AbstractPropertyExpansionTarget( ModelItem modelItem )
27 {
28 this.modelItem = modelItem;
29 }
30
31 public ModelItem getContextModelItem()
32 {
33 if( modelItem instanceof WsdlTestRequest )
34 {
35 modelItem = ( ( WsdlTestRequest )modelItem ).getTestStep();
36 }
37 else if( modelItem instanceof HttpTestRequestInterface )
38 {
39 modelItem = ( ( HttpTestRequestInterface<?> )modelItem ).getTestStep();
40 }
41
42
43
44
45
46
47
48
49 return modelItem;
50 }
51
52 public ModelItem getModelItem()
53 {
54 return modelItem;
55 }
56
57 protected String createContextExpansion( String name, PropertyExpansion expansion )
58 {
59 SoapUIScriptGenerator scriptGenerator = SoapUIScriptEngineRegistry.createScriptGenerator( getModelItem() );
60 return scriptGenerator.createContextExpansion( name, expansion );
61 }
62 }