public final class org.apache.camel.util.ResourceHelper extends java.lang.Object
{
private static final org.slf4j.Logger LOG;
private void <init>()
{
org.apache.camel.util.ResourceHelper v;
v := @this: org.apache.camel.util.ResourceHelper;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static java.lang.String resolveOptionalExternalScript(org.apache.camel.CamelContext, java.lang.String)
{
org.apache.camel.CamelContext v;
java.lang.String v, v;
v := @parameter: org.apache.camel.CamelContext;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.camel.util.ResourceHelper: java.lang.String resolveOptionalExternalScript(org.apache.camel.CamelContext,org.apache.camel.Exchange,java.lang.String)>(v, null, v);
return v;
}
public static java.lang.String resolveOptionalExternalScript(org.apache.camel.CamelContext, org.apache.camel.Exchange, java.lang.String)
{
java.lang.Throwable v;
org.apache.camel.spi.Language v;
org.apache.camel.Exchange v;
org.apache.camel.Expression v;
int v;
java.lang.String v, v, v;
boolean v, v, v;
org.apache.camel.RuntimeCamelException v;
org.apache.camel.CamelContext v, v;
java.io.IOException v;
org.apache.camel.TypeConverter v;
java.lang.Object v, v;
java.io.InputStream v;
v := @parameter: org.apache.camel.CamelContext;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: java.lang.String;
if v != null goto label;
return null;
label:
v = staticinvoke <org.apache.camel.util.StringHelper: int countChar(java.lang.String,char)>(v, 10);
if v <= 1 goto label;
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("resource:");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(9);
v = staticinvoke <org.apache.camel.util.ResourceHelper: boolean hasScheme(java.lang.String)>(v);
if v == 0 goto label;
if v == null goto label;
v = staticinvoke <org.apache.camel.language.simple.SimpleLanguage: boolean hasSimpleFunction(java.lang.String)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.CamelContext getContext()>();
v = interfaceinvoke v.<org.apache.camel.CamelContext: org.apache.camel.spi.Language resolveLanguage(java.lang.String)>("simple");
v = virtualinvoke v.<org.apache.camel.language.simple.SimpleLanguage: org.apache.camel.Expression createExpression(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.camel.Expression: java.lang.Object evaluate(org.apache.camel.Exchange,java.lang.Class)>(v, class "Ljava/lang/String;");
label:
v = null;
label:
v = staticinvoke <org.apache.camel.util.ResourceHelper: java.io.InputStream resolveMandatoryResourceAsInputStream(org.apache.camel.CamelContext,java.lang.String)>(v, v);
v = interfaceinvoke v.<org.apache.camel.CamelContext: org.apache.camel.TypeConverter getTypeConverter()>();
v = interfaceinvoke v.<org.apache.camel.TypeConverter: java.lang.Object convertTo(java.lang.Class,java.lang.Object)>(class "Ljava/lang/String;", v);
label:
staticinvoke <org.apache.camel.util.IOHelper: void close(java.io.Closeable)>(v);
goto label;
label:
v := @caughtexception;
v = new org.apache.camel.RuntimeCamelException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot load resource \u0001");
specialinvoke v.<org.apache.camel.RuntimeCamelException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v := @caughtexception;
staticinvoke <org.apache.camel.util.IOHelper: void close(java.io.Closeable)>(v);
throw v;
label:
return v;
catch java.io.IOException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public static boolean hasScheme(java.lang.String)
{
java.lang.String v;
boolean v, v, v, v;
v := @parameter: java.lang.String;
if v != null goto label;
return 0;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("file:");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("classpath:");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("http:");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static java.lang.String getScheme(java.lang.String)
{
int v, v;
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.camel.util.ResourceHelper: boolean hasScheme(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int indexOf(java.lang.String)>(":");
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
return v;
label:
return null;
}
public static java.io.InputStream resolveMandatoryResourceAsInputStream(org.apache.camel.CamelContext, java.lang.String) throws java.io.IOException
{
byte[] v, v;
org.apache.camel.spi.ClassResolver v;
org.apache.camel.spi.Language v;
org.apache.camel.Expression v;
java.io.ByteArrayInputStream v, v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v;
org.apache.camel.CamelContext v;
org.apache.camel.impl.DefaultExchange v;
java.io.IOException v, v;
java.io.FileNotFoundException v;
java.lang.Exception v, v;
org.apache.camel.TypeConverter v, v;
java.lang.Object v, v, v, v;
java.io.InputStream v;
v := @parameter: org.apache.camel.CamelContext;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("ref:");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(4);
v = staticinvoke <org.apache.camel.util.CamelContextHelper: java.lang.Object mandatoryLookup(org.apache.camel.CamelContext,java.lang.String,java.lang.Class)>(v, v, class "Ljava/lang/String;");
v = new java.io.ByteArrayInputStream;
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
specialinvoke v.<java.io.ByteArrayInputStream: void <init>(byte[])>(v);
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("bean:");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(5);
v = new org.apache.camel.impl.DefaultExchange;
specialinvoke v.<org.apache.camel.impl.DefaultExchange: void <init>(org.apache.camel.CamelContext)>(v);
v = interfaceinvoke v.<org.apache.camel.CamelContext: org.apache.camel.spi.Language resolveLanguage(java.lang.String)>("bean");
v = interfaceinvoke v.<org.apache.camel.spi.Language: org.apache.camel.Expression createExpression(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.camel.Expression: java.lang.Object evaluate(org.apache.camel.Exchange,java.lang.Class)>(v, class "Ljava/lang/Object;");
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.Exception getException()>();
if v == null goto label;
v = new java.io.IOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot find resource: \u from calling the bean");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.Exception getException()>();
virtualinvoke v.<java.io.IOException: java.lang.Throwable initCause(java.lang.Throwable)>(v);
throw v;
label:
if v == null goto label;
v = interfaceinvoke v.<org.apache.camel.CamelContext: org.apache.camel.TypeConverter getTypeConverter()>();
v = interfaceinvoke v.<org.apache.camel.TypeConverter: java.lang.Object tryConvertTo(java.lang.Class,org.apache.camel.Exchange,java.lang.Object)>(class "Ljava/io/InputStream;", v, v);
if v != null goto label;
v = interfaceinvoke v.<org.apache.camel.CamelContext: org.apache.camel.TypeConverter getTypeConverter()>();
v = interfaceinvoke v.<org.apache.camel.TypeConverter: java.lang.Object tryConvertTo(java.lang.Class,org.apache.camel.Exchange,java.lang.Object)>(class "Ljava/lang/String;", v, v);
if v == null goto label;
v = new java.io.ByteArrayInputStream;
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
specialinvoke v.<java.io.ByteArrayInputStream: void <init>(byte[])>(v);
return v;
label:
return v;
label:
v = new java.io.IOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot find resource: \u from calling the bean");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<org.apache.camel.CamelContext: org.apache.camel.spi.ClassResolver getClassResolver()>();
v = staticinvoke <org.apache.camel.util.ResourceHelper: java.io.InputStream resolveResourceAsInputStream(org.apache.camel.spi.ClassResolver,java.lang.String)>(v, v);
if v != null goto label;
v = staticinvoke <org.apache.camel.util.ResourceHelper: java.lang.String resolveUriPath(java.lang.String)>(v);
v = new java.io.FileNotFoundException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot find resource: \u in classpath for URI: \u0001");
specialinvoke v.<java.io.FileNotFoundException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
public static java.io.InputStream resolveMandatoryResourceAsInputStream(org.apache.camel.spi.ClassResolver, java.lang.String) throws java.io.IOException
{
org.apache.camel.spi.ClassResolver v;
java.lang.String v, v, v;
java.io.FileNotFoundException v;
java.io.InputStream v;
v := @parameter: org.apache.camel.spi.ClassResolver;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.camel.util.ResourceHelper: java.io.InputStream resolveResourceAsInputStream(org.apache.camel.spi.ClassResolver,java.lang.String)>(v, v);
if v != null goto label;
v = staticinvoke <org.apache.camel.util.ResourceHelper: java.lang.String resolveUriPath(java.lang.String)>(v);
v = new java.io.FileNotFoundException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot find resource: \u in classpath for URI: \u0001");
specialinvoke v.<java.io.FileNotFoundException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
public static java.io.InputStream resolveResourceAsInputStream(org.apache.camel.spi.ClassResolver, java.lang.String) throws java.io.IOException
{
org.apache.camel.spi.ClassResolver v;
java.net.URL v, v;
java.lang.String[] v;
java.net.URLConnection v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v, v;
org.slf4j.Logger v, v, v, v;
java.io.IOException v;
java.io.FileInputStream v;
java.io.InputStream v, v, v;
v := @parameter: org.apache.camel.spi.ClassResolver;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("file:");
if v == 0 goto label;
v = staticinvoke <org.apache.camel.util.StringHelper: java.lang.String after(java.lang.String,java.lang.String)>(v, "file:");
v = staticinvoke <org.apache.camel.util.ResourceHelper: java.lang.String tryDecodeUri(java.lang.String)>(v);
v = <org.apache.camel.util.ResourceHelper: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Loading resource: {} from file system", v);
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("http:");
if v == 0 goto label;
v = new java.net.URL;
specialinvoke v.<java.net.URL: void <init>(java.lang.String)>(v);
v = <org.apache.camel.util.ResourceHelper: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Loading resource: {} from HTTP", v);
v = virtualinvoke v.<java.net.URL: java.net.URLConnection openConnection()>();
virtualinvoke v.<java.net.URLConnection: void setUseCaches(boolean)>(0);
label:
v = virtualinvoke v.<java.net.URLConnection: java.io.InputStream getInputStream()>();
label:
return v;
label:
v := @caughtexception;
v = v instanceof java.net.HttpURLConnection;
if v == 0 goto label;
virtualinvoke v.<java.net.HttpURLConnection: void disconnect()>();
label:
throw v;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("classpath:");
if v == 0 goto label;
v = staticinvoke <org.apache.camel.util.StringHelper: java.lang.String after(java.lang.String,java.lang.String)>(v, "classpath:");
v = staticinvoke <org.apache.camel.util.ResourceHelper: java.lang.String tryDecodeUri(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>(":");
if v == 0 goto label;
v = <org.apache.camel.util.ResourceHelper: org.slf4j.Logger LOG>;
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(":");
v = v[0];
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("Loading resource: {} with UrlHandler for protocol {}", v, v);
v = new java.net.URL;
specialinvoke v.<java.net.URL: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.net.URL: java.net.URLConnection openConnection()>();
v = virtualinvoke v.<java.net.URLConnection: java.io.InputStream getInputStream()>();
return v;
label:
v = staticinvoke <org.apache.camel.util.ResourceHelper: java.lang.String resolveUriPath(java.lang.String)>(v);
v = <org.apache.camel.util.ResourceHelper: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Loading resource: {} from classpath", v);
v = interfaceinvoke v.<org.apache.camel.spi.ClassResolver: java.io.InputStream loadResourceAsStream(java.lang.String)>(v);
return v;
catch java.io.IOException from label to label with label;
}
public static java.net.URL resolveMandatoryResourceAsUrl(org.apache.camel.spi.ClassResolver, java.lang.String) throws java.io.FileNotFoundException, java.net.MalformedURLException
{
org.apache.camel.spi.ClassResolver v;
java.net.URL v;
java.lang.String v, v, v;
java.io.FileNotFoundException v;
v := @parameter: org.apache.camel.spi.ClassResolver;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.camel.util.ResourceHelper: java.net.URL resolveResourceAsUrl(org.apache.camel.spi.ClassResolver,java.lang.String)>(v, v);
if v != null goto label;
v = staticinvoke <org.apache.camel.util.ResourceHelper: java.lang.String resolveUriPath(java.lang.String)>(v);
v = new java.io.FileNotFoundException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot find resource: \u in classpath for URI: \u0001");
specialinvoke v.<java.io.FileNotFoundException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
public static java.net.URL resolveResourceAsUrl(org.apache.camel.spi.ClassResolver, java.lang.String) throws java.net.MalformedURLException
{
org.apache.camel.spi.ClassResolver v;
java.net.URL v, v, v, v;
java.lang.String[] v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v, v;
org.slf4j.Logger v, v, v, v;
java.io.File v;
v := @parameter: org.apache.camel.spi.ClassResolver;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("file:");
if v == 0 goto label;
v = staticinvoke <org.apache.camel.util.StringHelper: java.lang.String after(java.lang.String,java.lang.String)>(v, "file:");
v = staticinvoke <org.apache.camel.util.ResourceHelper: java.lang.String tryDecodeUri(java.lang.String)>(v);
v = <org.apache.camel.util.ResourceHelper: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Loading resource: {} from file system", v);
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v != 0 goto label;
return null;
label:
v = new java.net.URL;
specialinvoke v.<java.net.URL: void <init>(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("http:");
if v == 0 goto label;
v = <org.apache.camel.util.ResourceHelper: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Loading resource: {} from HTTP", v);
v = new java.net.URL;
specialinvoke v.<java.net.URL: void <init>(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("classpath:");
if v == 0 goto label;
v = staticinvoke <org.apache.camel.util.StringHelper: java.lang.String after(java.lang.String,java.lang.String)>(v, "classpath:");
v = staticinvoke <org.apache.camel.util.ResourceHelper: java.lang.String tryDecodeUri(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>(":");
if v == 0 goto label;
v = <org.apache.camel.util.ResourceHelper: org.slf4j.Logger LOG>;
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(":");
v = v[0];
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("Loading resource: {} with UrlHandler for protocol {}", v, v);
v = new java.net.URL;
specialinvoke v.<java.net.URL: void <init>(java.lang.String)>(v);
return v;
label:
v = staticinvoke <org.apache.camel.util.ResourceHelper: java.lang.String resolveUriPath(java.lang.String)>(v);
v = <org.apache.camel.util.ResourceHelper: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Loading resource: {} from classpath", v);
v = interfaceinvoke v.<org.apache.camel.spi.ClassResolver: java.net.URL loadResourceAsURL(java.lang.String)>(v);
return v;
}
public static boolean isHttpUri(java.lang.String)
{
java.lang.String v;
boolean v, v, v;
v := @parameter: java.lang.String;
if v != null goto label;
return 0;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("http:");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("https:");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static java.lang.String appendParameters(java.lang.String, java.util.Map) throws java.net.URISyntaxException
{
java.util.Map v;
java.lang.String v, v, v;
java.net.URI v, v;
boolean v;
v := @parameter: java.lang.String;
v := @parameter: java.util.Map;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v != 0 goto label;
v = staticinvoke <org.apache.camel.util.URISupport: java.lang.String createQueryString(java.util.Map)>(v);
v = new java.net.URI;
specialinvoke v.<java.net.URI: void <init>(java.lang.String)>(v);
v = staticinvoke <org.apache.camel.util.URISupport: java.net.URI createURIWithQuery(java.net.URI,java.lang.String)>(v, v);
interfaceinvoke v.<java.util.Map: void clear()>();
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
return v;
label:
return v;
}
private static java.lang.String resolveUriPath(java.lang.String)
{
java.lang.String v, v;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.camel.util.FileUtil: java.lang.String compactPath(java.lang.String,char)>(v, 47);
return v;
}
private static java.lang.String tryDecodeUri(java.lang.String)
{
java.lang.String v;
org.slf4j.Logger v;
java.lang.Exception v;
v := @parameter: java.lang.String;
label:
v = staticinvoke <java.net.URLDecoder: java.lang.String decode(java.lang.String,java.lang.String)>(v, "UTF-8");
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.camel.util.ResourceHelper: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Error URL decoding uri using UTF-8 encoding: {}. This exception is ignored.", v);
label:
return v;
catch java.lang.Exception from label to label with label;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/camel/util/ResourceHelper;");
<org.apache.camel.util.ResourceHelper: org.slf4j.Logger LOG> = v;
return;
}
}