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( StringUtils.hasContent(getInterface().getWadlUrl()))
41 return new InterfaceCacheDefinitionLoader(restServiceDefinitionCache);
42 else
43 return new GeneratedWadlDefinitionLoader( getInterface() );
44 }
45
46 protected DefinitionLoader createDefinitionLoader(String url)
47 {
48 return url == null || (getInterface().isGenerated() && getInterface().getWadlUrl().equals( url ))
49 ? new GeneratedWadlDefinitionLoader( getInterface() ) : new UrlWsdlLoader(url, getInterface());
50 }
51
52 protected WadlInterfaceDefinition loadDefinition(DefinitionLoader loader) throws Exception
53 {
54 return new WadlInterfaceDefinition(getInterface()).load(loader);
55 }
56
57 public String export(String path) throws Exception
58 {
59 return new WadlDefinitionExporter(getInterface()).export(path);
60 }
61
62 public WadlInterfaceDefinition regenerateWadl()
63 {
64 try
65 {
66 if( getInterface().isGenerated())
67 reload();
68
69 return getInterfaceDefinition();
70 }
71 catch( Exception e )
72 {
73 e.printStackTrace();
74 }
75
76 return null;
77 }
78 }