public class org.apache.camel.impl.osgi.Activator extends java.lang.Object implements org.osgi.framework.BundleActivator, org.apache.camel.impl.osgi.tracker.BundleTrackerCustomizer
{
public static final java.lang.String META_INF_COMPONENT;
public static final java.lang.String META_INF_LANGUAGE;
public static final java.lang.String META_INF_LANGUAGE_RESOLVER;
public static final java.lang.String META_INF_DATAFORMAT;
public static final java.lang.String META_INF_TYPE_CONVERTER;
public static final java.lang.String META_INF_FALLBACK_TYPE_CONVERTER;
public static final java.lang.String EXTENDER_NAMESPACE;
public static final java.lang.String CAMEL_EXTENDER;
private static final org.slf4j.Logger LOG;
private org.apache.camel.impl.osgi.tracker.BundleTracker tracker;
private final java.util.Map resolvers;
private long bundleId;
private final java.util.Map packageCapabilities;
public void <init>()
{
java.util.concurrent.ConcurrentHashMap v;
java.util.HashMap v;
org.apache.camel.impl.osgi.Activator v;
v := @this: org.apache.camel.impl.osgi.Activator;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.camel.impl.osgi.Activator: java.util.Map resolvers> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.apache.camel.impl.osgi.Activator: java.util.Map packageCapabilities> = v;
return;
}
public void start(org.osgi.framework.BundleContext) throws java.lang.Exception
{
org.slf4j.Logger v, v;
org.apache.camel.impl.osgi.Activator v;
long v;
org.osgi.framework.BundleContext v, v;
org.apache.camel.impl.osgi.tracker.BundleTracker v, v;
org.osgi.framework.Bundle v, v;
v := @this: org.apache.camel.impl.osgi.Activator;
v := @parameter: org.osgi.framework.BundleContext;
v = <org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Camel activator starting");
specialinvoke v.<org.apache.camel.impl.osgi.Activator: void cachePackageCapabilities(org.osgi.framework.BundleContext)>(v);
v = interfaceinvoke v.<org.osgi.framework.BundleContext: org.osgi.framework.Bundle getBundle()>();
v = interfaceinvoke v.<org.osgi.framework.Bundle: long getBundleId()>();
v.<org.apache.camel.impl.osgi.Activator: long bundleId> = v;
v = interfaceinvoke v.<org.osgi.framework.BundleContext: org.osgi.framework.Bundle getBundle(long)>(0L);
v = interfaceinvoke v.<org.osgi.framework.Bundle: org.osgi.framework.BundleContext getBundleContext()>();
v = new org.apache.camel.impl.osgi.tracker.BundleTracker;
specialinvoke v.<org.apache.camel.impl.osgi.tracker.BundleTracker: void <init>(org.osgi.framework.BundleContext,int,org.apache.camel.impl.osgi.tracker.BundleTrackerCustomizer)>(v, 32, v);
v.<org.apache.camel.impl.osgi.Activator: org.apache.camel.impl.osgi.tracker.BundleTracker tracker> = v;
v = v.<org.apache.camel.impl.osgi.Activator: org.apache.camel.impl.osgi.tracker.BundleTracker tracker>;
virtualinvoke v.<org.apache.camel.impl.osgi.tracker.BundleTracker: void open()>();
v = <org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Camel activator started");
return;
}
public void stop(org.osgi.framework.BundleContext) throws java.lang.Exception
{
org.slf4j.Logger v, v;
org.apache.camel.impl.osgi.Activator v;
org.apache.camel.impl.osgi.tracker.BundleTracker v;
java.util.Map v;
org.osgi.framework.BundleContext v;
v := @this: org.apache.camel.impl.osgi.Activator;
v := @parameter: org.osgi.framework.BundleContext;
v = <org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Camel activator stopping");
v = v.<org.apache.camel.impl.osgi.Activator: org.apache.camel.impl.osgi.tracker.BundleTracker tracker>;
virtualinvoke v.<org.apache.camel.impl.osgi.tracker.BundleTracker: void close()>();
v = v.<org.apache.camel.impl.osgi.Activator: java.util.Map packageCapabilities>;
interfaceinvoke v.<java.util.Map: void clear()>();
v = <org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Camel activator stopped");
return;
}
private void cachePackageCapabilities(org.osgi.framework.BundleContext)
{
java.util.Iterator v;
org.apache.camel.impl.osgi.Activator v;
org.osgi.framework.BundleContext v;
java.util.List v;
java.util.Map v, v;
java.lang.Object v, v, v;
org.osgi.framework.Bundle v;
boolean v;
v := @this: org.apache.camel.impl.osgi.Activator;
v := @parameter: org.osgi.framework.BundleContext;
v = interfaceinvoke v.<org.osgi.framework.BundleContext: org.osgi.framework.Bundle getBundle()>();
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.lang.Object adapt(java.lang.Class)>(class "Lorg/osgi/framework/wiring/BundleWiring;");
v = interfaceinvoke v.<org.osgi.framework.wiring.BundleWiring: java.util.List getCapabilities(java.lang.String)>("osgi.wiring.package");
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.osgi.framework.wiring.BundleCapability: java.util.Map getAttributes()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("osgi.wiring.package");
v = v.<org.apache.camel.impl.osgi.Activator: java.util.Map packageCapabilities>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return;
}
public java.lang.Object addingBundle(org.osgi.framework.Bundle, org.osgi.framework.BundleEvent)
{
org.slf4j.Logger v;
java.util.Iterator v;
org.apache.camel.impl.osgi.Activator v;
long v;
java.util.ArrayList v;
org.osgi.framework.BundleEvent v;
java.lang.Long v;
java.util.Map v;
java.lang.Object v;
java.lang.String v;
org.osgi.framework.Bundle v;
boolean v, v;
v := @this: org.apache.camel.impl.osgi.Activator;
v := @parameter: org.osgi.framework.Bundle;
v := @parameter: org.osgi.framework.BundleEvent;
v = <org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.lang.String getSymbolicName()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Bundle started: {}", v);
v = specialinvoke v.<org.apache.camel.impl.osgi.Activator: boolean extenderCapabilityWired(org.osgi.framework.Bundle)>(v);
if v == 0 goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
virtualinvoke v.<org.apache.camel.impl.osgi.Activator: void registerComponents(org.osgi.framework.Bundle,java.util.List)>(v, v);
virtualinvoke v.<org.apache.camel.impl.osgi.Activator: void registerLanguages(org.osgi.framework.Bundle,java.util.List)>(v, v);
virtualinvoke v.<org.apache.camel.impl.osgi.Activator: void registerDataFormats(org.osgi.framework.Bundle,java.util.List)>(v, v);
virtualinvoke v.<org.apache.camel.impl.osgi.Activator: void registerTypeConverterLoader(org.osgi.framework.Bundle,java.util.List)>(v, v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<org.apache.camel.impl.osgi.Activator$BaseService: void register()>();
goto label;
label:
v = v.<org.apache.camel.impl.osgi.Activator: java.util.Map resolvers>;
v = interfaceinvoke v.<org.osgi.framework.Bundle: long getBundleId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return v;
}
private boolean extenderCapabilityWired(org.osgi.framework.Bundle)
{
org.apache.camel.impl.osgi.Activator v;
long v, v, v, v;
org.osgi.framework.wiring.BundleCapability v;
byte v;
java.lang.Long v, v;
java.util.Map v;
java.lang.String v;
org.osgi.framework.Bundle v, v;
boolean v, v;
org.osgi.framework.wiring.BundleWiring v;
org.slf4j.Logger v, v;
java.util.Iterator v;
java.util.List v;
java.lang.Object v, v, v;
v := @this: org.apache.camel.impl.osgi.Activator;
v := @parameter: org.osgi.framework.Bundle;
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.lang.Object adapt(java.lang.Class)>(class "Lorg/osgi/framework/wiring/BundleWiring;");
if v != null goto label;
return 1;
label:
v = interfaceinvoke v.<org.osgi.framework.wiring.BundleWiring: java.util.List getRequiredWires(java.lang.String)>("osgi.extender");
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = "org.apache.camel";
v = interfaceinvoke v.<org.osgi.framework.wiring.BundleWire: org.osgi.framework.wiring.BundleCapability getCapability()>();
v = interfaceinvoke v.<org.osgi.framework.wiring.BundleCapability: java.util.Map getAttributes()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("osgi.extender");
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.apache.camel.impl.osgi.Activator: long bundleId>;
v = interfaceinvoke v.<org.osgi.framework.wiring.BundleWire: org.osgi.framework.wiring.BundleWiring getProviderWiring()>();
v = interfaceinvoke v.<org.osgi.framework.wiring.BundleWiring: org.osgi.framework.Bundle getBundle()>();
v = interfaceinvoke v.<org.osgi.framework.Bundle: long getBundleId()>();
v = v cmp v;
if v != 0 goto label;
v = <org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.osgi.framework.Bundle: long getBundleId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Camel extender requirement of bundle {} correctly wired to this implementation", v);
return 1;
label:
v = <org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.osgi.framework.Bundle: long getBundleId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Not processing bundle {} as it requires a camel extender but is not wired to the this implementation", v);
return 0;
label:
return 1;
}
public void modifiedBundle(org.osgi.framework.Bundle, org.osgi.framework.BundleEvent, java.lang.Object)
{
org.apache.camel.impl.osgi.Activator v;
java.lang.Object v;
org.osgi.framework.Bundle v;
org.osgi.framework.BundleEvent v;
v := @this: org.apache.camel.impl.osgi.Activator;
v := @parameter: org.osgi.framework.Bundle;
v := @parameter: org.osgi.framework.BundleEvent;
v := @parameter: java.lang.Object;
return;
}
public void removedBundle(org.osgi.framework.Bundle, org.osgi.framework.BundleEvent, java.lang.Object)
{
org.slf4j.Logger v;
java.util.Iterator v;
org.apache.camel.impl.osgi.Activator v;
long v;
org.osgi.framework.BundleEvent v;
java.lang.Long v;
java.util.Map v;
java.lang.Object v, v, v;
java.lang.String v;
org.osgi.framework.Bundle v;
boolean v;
v := @this: org.apache.camel.impl.osgi.Activator;
v := @parameter: org.osgi.framework.Bundle;
v := @parameter: org.osgi.framework.BundleEvent;
v := @parameter: java.lang.Object;
v = <org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.lang.String getSymbolicName()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Bundle stopped: {}", v);
v = v.<org.apache.camel.impl.osgi.Activator: java.util.Map resolvers>;
v = interfaceinvoke v.<org.osgi.framework.Bundle: long getBundleId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<org.apache.camel.impl.osgi.Activator$BaseService: void unregister()>();
goto label;
label:
return;
}
protected void registerComponents(org.osgi.framework.Bundle, java.util.List)
{
org.slf4j.Logger v;
org.apache.camel.impl.osgi.Activator v;
org.apache.camel.impl.osgi.Activator$BundleComponentResolver v;
java.util.Enumeration v;
java.util.HashMap v;
java.util.List v;
int v, v;
java.lang.Object v;
java.lang.String v, v;
org.osgi.framework.Bundle v;
boolean v, v, v;
v := @this: org.apache.camel.impl.osgi.Activator;
v := @parameter: org.osgi.framework.Bundle;
v := @parameter: java.util.List;
v = virtualinvoke v.<org.apache.camel.impl.osgi.Activator: boolean canSee(org.osgi.framework.Bundle,java.lang.Class)>(v, class "Lorg/apache/camel/Component;");
if v == 0 goto label;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.util.Enumeration getEntryPaths(java.lang.String)>("META-INF/services/org/apache/camel/component/");
label:
if v == null goto label;
v = interfaceinvoke v.<java.util.Enumeration: boolean hasMoreElements()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Enumeration: java.lang.Object nextElement()>();
v = <org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.lang.String getSymbolicName()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Found entry: {} in bundle {}", v, v);
v = virtualinvoke v.<java.lang.String: int lastIndexOf(java.lang.String)>("/");
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v != 0 goto label;
v = new org.apache.camel.impl.osgi.Activator$BundleComponentResolver;
specialinvoke v.<org.apache.camel.impl.osgi.Activator$BundleComponentResolver: void <init>(org.osgi.framework.Bundle,java.util.Map)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return;
}
protected void registerLanguages(org.osgi.framework.Bundle, java.util.List)
{
org.apache.camel.impl.osgi.Activator v;
java.util.Enumeration v, v;
java.util.HashMap v;
org.apache.camel.impl.osgi.Activator$BundleMetaLanguageResolver v;
int v, v, v, v;
java.lang.String v, v, v, v;
org.apache.camel.impl.osgi.Activator$BundleLanguageResolver v;
org.osgi.framework.Bundle v;
boolean v, v, v, v;
org.slf4j.Logger v, v;
java.util.List v;
java.lang.Object v, v;
v := @this: org.apache.camel.impl.osgi.Activator;
v := @parameter: org.osgi.framework.Bundle;
v := @parameter: java.util.List;
v = virtualinvoke v.<org.apache.camel.impl.osgi.Activator: boolean canSee(org.osgi.framework.Bundle,java.lang.Class)>(v, class "Lorg/apache/camel/spi/Language;");
if v == 0 goto label;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.util.Enumeration getEntryPaths(java.lang.String)>("META-INF/services/org/apache/camel/language/");
label:
if v == null goto label;
v = interfaceinvoke v.<java.util.Enumeration: boolean hasMoreElements()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Enumeration: java.lang.Object nextElement()>();
v = <org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.lang.String getSymbolicName()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Found entry: {} in bundle {}", v, v);
v = virtualinvoke v.<java.lang.String: int lastIndexOf(java.lang.String)>("/");
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v != 0 goto label;
v = new org.apache.camel.impl.osgi.Activator$BundleLanguageResolver;
specialinvoke v.<org.apache.camel.impl.osgi.Activator$BundleLanguageResolver: void <init>(org.osgi.framework.Bundle,java.util.Map)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.util.Enumeration getEntryPaths(java.lang.String)>("META-INF/services/org/apache/camel/language/resolver/");
label:
if v == null goto label;
v = interfaceinvoke v.<java.util.Enumeration: boolean hasMoreElements()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Enumeration: java.lang.Object nextElement()>();
v = <org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.lang.String getSymbolicName()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Found entry: {} in bundle {}", v, v);
v = virtualinvoke v.<java.lang.String: int lastIndexOf(java.lang.String)>("/");
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = new org.apache.camel.impl.osgi.Activator$BundleMetaLanguageResolver;
specialinvoke v.<org.apache.camel.impl.osgi.Activator$BundleMetaLanguageResolver: void <init>(org.osgi.framework.Bundle,java.lang.String,java.lang.String)>(v, v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return;
}
protected void registerDataFormats(org.osgi.framework.Bundle, java.util.List)
{
org.slf4j.Logger v;
org.apache.camel.impl.osgi.Activator v;
java.util.Enumeration v;
java.util.HashMap v;
java.util.List v;
int v, v;
java.lang.Object v;
java.lang.String v, v;
org.osgi.framework.Bundle v;
boolean v, v, v;
org.apache.camel.impl.osgi.Activator$BundleDataFormatResolver v;
v := @this: org.apache.camel.impl.osgi.Activator;
v := @parameter: org.osgi.framework.Bundle;
v := @parameter: java.util.List;
v = virtualinvoke v.<org.apache.camel.impl.osgi.Activator: boolean canSee(org.osgi.framework.Bundle,java.lang.Class)>(v, class "Lorg/apache/camel/spi/DataFormat;");
if v == 0 goto label;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.util.Enumeration getEntryPaths(java.lang.String)>("META-INF/services/org/apache/camel/dataformat/");
label:
if v == null goto label;
v = interfaceinvoke v.<java.util.Enumeration: boolean hasMoreElements()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Enumeration: java.lang.Object nextElement()>();
v = <org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.lang.String getSymbolicName()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Found entry: {} in bundle {}", v, v);
v = virtualinvoke v.<java.lang.String: int lastIndexOf(java.lang.String)>("/");
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v != 0 goto label;
v = new org.apache.camel.impl.osgi.Activator$BundleDataFormatResolver;
specialinvoke v.<org.apache.camel.impl.osgi.Activator$BundleDataFormatResolver: void <init>(org.osgi.framework.Bundle,java.util.Map)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return;
}
protected void registerTypeConverterLoader(org.osgi.framework.Bundle, java.util.List)
{
org.slf4j.Logger v;
org.apache.camel.impl.osgi.Activator v;
java.net.URL v, v;
java.util.List v;
org.apache.camel.impl.osgi.Activator$BundleTypeConverterLoader v;
java.lang.String v;
org.osgi.framework.Bundle v;
boolean v, v;
v := @this: org.apache.camel.impl.osgi.Activator;
v := @parameter: org.osgi.framework.Bundle;
v := @parameter: java.util.List;
v = virtualinvoke v.<org.apache.camel.impl.osgi.Activator: boolean canSee(org.osgi.framework.Bundle,java.lang.Class)>(v, class "Lorg/apache/camel/TypeConverter;");
if v == 0 goto label;
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.net.URL getEntry(java.lang.String)>("META-INF/services/org/apache/camel/TypeConverter");
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.net.URL getEntry(java.lang.String)>("META-INF/services/org/apache/camel/FallbackTypeConverter");
if v != null goto label;
if v == null goto label;
label:
v = <org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.lang.String getSymbolicName()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Found TypeConverter in bundle {}", v);
v = new org.apache.camel.impl.osgi.Activator$BundleTypeConverterLoader;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
specialinvoke v.<org.apache.camel.impl.osgi.Activator$BundleTypeConverterLoader: void <init>(org.osgi.framework.Bundle,boolean)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return;
}
protected boolean canSee(org.osgi.framework.Bundle, java.lang.Class)
{
org.apache.camel.impl.osgi.Activator v;
long v, v, v;
org.osgi.framework.wiring.BundleCapability v;
byte v, v;
java.util.Map v;
java.lang.String v, v, v;
org.osgi.framework.Bundle v, v;
boolean v, v, v, v;
java.util.Iterator v;
java.lang.Package v;
org.osgi.framework.BundleContext v;
java.util.List v;
java.lang.Class v;
java.lang.Object v, v, v;
v := @this: org.apache.camel.impl.osgi.Activator;
v := @parameter: org.osgi.framework.Bundle;
v := @parameter: java.lang.Class;
v = interfaceinvoke v.<org.osgi.framework.Bundle: long getBundleId()>();
v = v.<org.apache.camel.impl.osgi.Activator: long bundleId>;
v = v cmp v;
if v != 0 goto label;
return 1;
label:
v = v.<org.apache.camel.impl.osgi.Activator: java.util.Map packageCapabilities>;
v = virtualinvoke v.<java.lang.Class: java.lang.Package getPackage()>();
v = virtualinvoke v.<java.lang.Package: java.lang.String getName()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.lang.Object adapt(java.lang.Class)>(class "Lorg/osgi/framework/wiring/BundleWiring;");
v = interfaceinvoke v.<org.osgi.framework.wiring.BundleWiring: java.util.List getRequiredWires(java.lang.String)>("osgi.wiring.package");
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.osgi.framework.wiring.BundleWire: org.osgi.framework.wiring.BundleCapability getCapability()>();
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
return 1;
label:
v = interfaceinvoke v.<org.osgi.framework.Bundle: long getBundleId()>();
v = v cmp 0L;
if v < 0 goto label;
v = interfaceinvoke v.<org.osgi.framework.Bundle: org.osgi.framework.BundleContext getBundleContext()>();
v = interfaceinvoke v.<org.osgi.framework.BundleContext: org.osgi.framework.Bundle getBundle(long)>(0L);
if v == null goto label;
v = "org.apache.felix.connect";
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.lang.String getSymbolicName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <org.apache.camel.impl.osgi.Activator: boolean checkCompat(org.osgi.framework.Bundle,java.lang.Class)>(v, v);
return v;
label:
return 0;
}
protected static boolean checkCompat(org.osgi.framework.Bundle, java.lang.Class)
{
java.lang.Throwable v;
java.lang.Class v, v;
java.lang.String v;
org.osgi.framework.Bundle v;
v := @parameter: org.osgi.framework.Bundle;
v := @parameter: java.lang.Class;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.lang.Class loadClass(java.lang.String)>(v);
if v == v goto label;
label:
return 0;
label:
v := @caughtexception;
return 0;
label:
return 1;
catch java.lang.Throwable from label to label with label;
}
protected static java.util.Properties loadProperties(java.net.URL)
{
java.lang.Throwable v;
java.io.BufferedInputStream v;
java.util.Properties v;
org.slf4j.Logger v, v;
java.net.URL v;
java.io.IOException v;
java.lang.RuntimeException v;
java.io.InputStream v;
v := @parameter: java.net.URL;
v = new java.util.Properties;
specialinvoke v.<java.util.Properties: void <init>()>();
v = null;
label:
v = virtualinvoke v.<java.net.URL: java.io.InputStream openStream()>();
v = staticinvoke <org.apache.camel.util.IOHelper: java.io.BufferedInputStream buffered(java.io.InputStream)>(v);
virtualinvoke v.<java.util.Properties: void load(java.io.InputStream)>(v);
label:
v = <org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG>;
staticinvoke <org.apache.camel.util.IOHelper: void close(java.io.Closeable,java.lang.String,org.slf4j.Logger)>(v, "properties", v);
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v := @caughtexception;
v = <org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG>;
staticinvoke <org.apache.camel.util.IOHelper: void close(java.io.Closeable,java.lang.String,org.slf4j.Logger)>(v, "properties", 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;
}
protected static java.util.Set getConverterPackages(java.net.URL)
{
java.lang.Throwable v;
java.net.URL v;
java.util.StringTokenizer v;
int v, v;
java.lang.String v, v, v, v;
java.util.LinkedHashSet v;
boolean v, v;
org.slf4j.Logger v, v, v;
java.io.InputStreamReader v;
java.lang.Exception v;
java.io.BufferedReader v;
java.io.InputStream v;
v := @parameter: java.net.URL;
v = new java.util.LinkedHashSet;
specialinvoke v.<java.util.LinkedHashSet: void <init>()>();
if v == null goto label;
v = null;
label:
v = new java.io.InputStreamReader;
v = virtualinvoke v.<java.net.URL: java.io.InputStream openStream()>();
specialinvoke v.<java.io.InputStreamReader: void <init>(java.io.InputStream)>(v);
v = staticinvoke <org.apache.camel.util.IOHelper: java.io.BufferedReader buffered(java.io.Reader)>(v);
label:
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("#");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v == 0 goto label;
v = new java.util.StringTokenizer;
specialinvoke v.<java.util.StringTokenizer: void <init>(java.lang.String,java.lang.String)>(v, ",");
label:
v = virtualinvoke v.<java.util.StringTokenizer: boolean hasMoreTokens()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.StringTokenizer: java.lang.String nextToken()>();
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 0 goto label;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = <org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG>;
staticinvoke <org.apache.camel.util.IOHelper: void close(java.io.Closeable,java.lang.String,org.slf4j.Logger)>(v, null, v);
goto label;
label:
v := @caughtexception;
v = <org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG>;
staticinvoke <org.apache.camel.util.IOHelper: void close(java.io.Closeable,java.lang.String,org.slf4j.Logger)>(v, null, v);
goto label;
label:
v := @caughtexception;
v = <org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG>;
staticinvoke <org.apache.camel.util.IOHelper: void close(java.io.Closeable,java.lang.String,org.slf4j.Logger)>(v, null, v);
throw v;
label:
return v;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable 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/impl/osgi/Activator;");
<org.apache.camel.impl.osgi.Activator: org.slf4j.Logger LOG> = v;
return;
}
}