1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.impl.wadl;
14
15 import com.eviware.soapui.impl.rest.RestService;
16 import com.eviware.soapui.impl.support.definition.DefinitionCache;
17 import com.eviware.soapui.impl.support.definition.DefinitionLoader;
18 import com.eviware.soapui.impl.support.definition.export.WadlDefinitionExporter;
19 import com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext;
20 import com.eviware.soapui.impl.support.definition.support.InterfaceCacheDefinitionLoader;
21 import com.eviware.soapui.impl.wadl.support.GeneratedWadlDefinitionLoader;
22 import com.eviware.soapui.impl.wadl.support.WadlInterfaceDefinition;
23 import com.eviware.soapui.impl.wsdl.support.wsdl.UrlWsdlLoader;
24 import com.eviware.soapui.support.StringUtils;
25
26 public class WadlDefinitionContext extends AbstractDefinitionContext<RestService, DefinitionLoader, WadlInterfaceDefinition>
27 {
28 public WadlDefinitionContext( String url, RestService iface )
29 {
30 super( url, iface );
31 }
32
33 public WadlDefinitionContext( String wadlUrl )
34 {
35 super( wadlUrl );
36 }
37
38 protected DefinitionLoader createDefinitionLoader( DefinitionCache restServiceDefinitionCache )
39 {
40 if( getInterface().isGenerated() || StringUtils.isNullOrEmpty( getInterface().getWadlUrl() ))
41 return new GeneratedWadlDefinitionLoader( getInterface() );
42 else
43 return new InterfaceCacheDefinitionLoader( restServiceDefinitionCache );
44 }
45
46 protected DefinitionLoader createDefinitionLoader( String url )
47 {
48 if( getInterface().isGenerated() || StringUtils.isNullOrEmpty( url ))
49 return new GeneratedWadlDefinitionLoader( getInterface() );
50 else
51 return new UrlWsdlLoader( url, getInterface() );
52 }
53
54 protected WadlInterfaceDefinition loadDefinition( DefinitionLoader loader ) throws Exception
55 {
56 return new WadlInterfaceDefinition( getInterface() ).load( loader );
57 }
58
59 public String export( String path ) throws Exception
60 {
61 return new WadlDefinitionExporter( getInterface() ).export( path );
62 }
63
64 public WadlInterfaceDefinition regenerateWadl()
65 {
66 try
67 {
68 if( getInterface().isGenerated() )
69 reload();
70
71 return getInterfaceDefinition();
72 }
73 catch( Exception e )
74 {
75 e.printStackTrace();
76 }
77
78 return null;
79 }
80 }