in jelly-tags/xml/src/main/java/org/apache/commons/jelly/tags/xml/TransformTag.java [310:351]
protected InputSource getInputSourceFromObj(Object sourceObj ) {
InputSource xmlInputSource = null;
if (sourceObj instanceof Document) {
SAXSource saxSource = new DocumentSource((Document) sourceObj);
xmlInputSource = saxSource.getInputSource();
} else {
if (sourceObj instanceof String) {
String uri = (String) sourceObj;
xmlInputSource = new InputSource(context.getResourceAsStream(uri));
}
else if (sourceObj instanceof Reader) {
xmlInputSource = new InputSource((Reader) sourceObj);
}
else if (sourceObj instanceof InputStream) {
xmlInputSource = new InputSource((InputStream) sourceObj);
}
else if (sourceObj instanceof URL) {
String uri = ((URL) sourceObj).toString();
xmlInputSource = new InputSource(context.getResourceAsStream(uri));
}
else if (sourceObj instanceof File) {
try {
String uri = ((File) sourceObj).toURL().toString();
xmlInputSource = new InputSource(context.getResourceAsStream(uri));
}
catch (MalformedURLException e) {
throw new IllegalArgumentException(
"This should never occur. We should always be able to convert a File to a URL" + e );
}
}
else {
throw new IllegalArgumentException(
"Invalid source argument. Must be a String, Reader, InputStream or URL."
+ " Was type; "
+ sourceObj.getClass().getName()
+ " with value: "
+ sourceObj);
}
}
return xmlInputSource;
}