View Javadoc

1   /*
2    *  soapUI, copyright (C) 2004-2008 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.impl.support.definition.export;
14  
15  import com.eviware.soapui.impl.rest.RestService;
16  import com.eviware.soapui.impl.support.definition.InterfaceDefinition;
17  import com.eviware.soapui.impl.wsdl.support.Constants;
18  
19  public class WadlDefinitionExporter extends AbstractDefinitionExporter<RestService>
20  {
21     public WadlDefinitionExporter(InterfaceDefinition<RestService> definition)
22     {
23        super(definition);
24     }
25  
26     public WadlDefinitionExporter(RestService restService) throws Exception
27     {
28        this( restService.getDefinitionContext().getInterfaceDefinition());
29     }
30  
31     public String export( String folderName ) throws Exception
32     {
33        if( getDefinition().getInterface().isGenerated() )
34           setDefinition( getDefinition().getInterface().getWadlContext().regenerateWadl());
35  
36        return super.export( folderName );    
37     }
38  
39     protected String[] getLocationXPathsToReplace()
40     {
41        return new String[]
42                {
43                        "declare namespace s='" + Constants.WADL10_NS + "' .//s:grammars/s:include/@href",
44                        "declare namespace s='http://www.w3.org/2001/XMLSchema' .//s:import/@schemaLocation",
45                        "declare namespace s='http://www.w3.org/2001/XMLSchema' .//s:include/@schemaLocation"
46                };
47     }
48  }