/** * Copyright 2006 EchoStorm, Inc. All rights reserved. */ package org.codehaus.xfire.wsdl; import java.io.File; import java.io.InputStream; import javax.wsdl.xml.WSDLLocator; import org.xml.sax.InputSource; /** * A WSDL resource locator. * * @author Daniel LaPrade * */ public class LocatorWSDL implements WSDLLocator { private String baseURI = ""; private String lastimport = ""; private InputSource inputsource = null; public LocatorWSDL( String baseURI, InputSource inputsource ) { System.out.println("LocatorWSDL: constructor( " +baseURI+ " , " +inputsource+ " )"); this.inputsource = inputsource; if ( baseURI != null ) { this.baseURI = baseURI; } } /* (non-Javadoc) * @see javax.wsdl.xml.WSDLLocator#getBaseInputSource() */ public InputSource getBaseInputSource() { return inputsource; } /* (non-Javadoc) * @see javax.wsdl.xml.WSDLLocator#getBaseURI() */ public String getBaseURI() { return baseURI; } /* (non-Javadoc) * @see javax.wsdl.xml.WSDLLocator#getImportInputSource(java.lang.String, java.lang.String) */ public InputSource getImportInputSource( String arg0, String arg1 ) { String name = File.separatorChar + arg1; System.out.println( "LocatorWSDL::getImportInputSource( " +arg0+ " , " +arg1+ " ) "); // Set the last imported value. lastimport = name; // Get input stream using classloader instead of filesystem. InputStream is = this.getClass().getClassLoader().getResourceAsStream( name ); return new InputSource( is ); } /* (non-Javadoc) * @see javax.wsdl.xml.WSDLLocator#getLatestImportURI() */ public String getLatestImportURI() { return lastimport; } }