public class org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl extends org.jvnet.hk.osgiadapter.AbstractOSGiModulesRegistryImpl implements org.osgi.framework.SynchronousBundleListener
{
private final java.util.logging.Logger logger;
private final org.jvnet.hk.osgiadapter.ObrHandler obrHandler;
void <init>(org.osgi.framework.BundleContext)
{
java.lang.Package v;
org.jvnet.hk.osgiadapter.ObrHandler v;
java.lang.Class v;
java.lang.String v;
java.util.logging.Logger v;
org.osgi.framework.BundleContext v;
org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl v;
v := @this: org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl;
v := @parameter: org.osgi.framework.BundleContext;
specialinvoke v.<org.jvnet.hk.osgiadapter.AbstractOSGiModulesRegistryImpl: void <init>(org.osgi.framework.BundleContext)>(v);
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.Package getPackage()>();
v = virtualinvoke v.<java.lang.Package: java.lang.String getName()>();
v = staticinvoke <java.util.logging.Logger: java.util.logging.Logger getLogger(java.lang.String)>(v);
v.<org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl: java.util.logging.Logger logger> = v;
v = new org.jvnet.hk.osgiadapter.ObrHandler;
specialinvoke v.<org.jvnet.hk.osgiadapter.ObrHandler: void <init>(org.osgi.framework.BundleContext)>(v);
v.<org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl: org.jvnet.hk.osgiadapter.ObrHandler obrHandler> = v;
return;
}
public void addObr(java.net.URI) throws java.lang.Exception
{
java.net.URI v;
org.jvnet.hk.osgiadapter.ObrHandler v;
org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl v;
v := @this: org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl;
v := @parameter: java.net.URI;
v = v.<org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl: org.jvnet.hk.osgiadapter.ObrHandler obrHandler>;
virtualinvoke v.<org.jvnet.hk.osgiadapter.ObrHandler: void addRepository(java.net.URI)>(v);
return;
}
public void addRepository(com.sun.enterprise.module.Repository, int)
{
com.sun.enterprise.module.Repository v;
org.jvnet.hk.osgiadapter.ObrHandler v;
java.lang.RuntimeException v;
java.lang.Exception v;
org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl v;
int v;
java.net.URI v;
boolean v;
v := @this: org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl;
v := @parameter: com.sun.enterprise.module.Repository;
v := @parameter: int;
v = v instanceof org.jvnet.hk.osgiadapter.OSGiDirectoryBasedRepository;
if v == 0 goto label;
label:
v = v.<org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl: org.jvnet.hk.osgiadapter.ObrHandler obrHandler>;
v = interfaceinvoke v.<com.sun.enterprise.module.Repository: java.net.URI getLocation()>();
virtualinvoke v.<org.jvnet.hk.osgiadapter.ObrHandler: void addRepository(java.net.URI)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
specialinvoke v.<org.jvnet.hk.osgiadapter.AbstractOSGiModulesRegistryImpl: void addRepository(com.sun.enterprise.module.Repository,int)>(v, v);
return;
catch java.lang.Exception from label to label with label;
}
public void addRepository(com.sun.enterprise.module.Repository)
{
com.sun.enterprise.module.Repository v;
org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl v;
v := @this: org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl;
v := @parameter: com.sun.enterprise.module.Repository;
virtualinvoke v.<org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl: void addRepository(com.sun.enterprise.module.Repository,int)>(v, 1);
return;
}
protected com.sun.enterprise.module.HK2Module newModule(com.sun.enterprise.module.ModuleDefinition)
{
com.sun.enterprise.module.ModuleDefinition v;
org.osgi.framework.Bundle v;
org.jvnet.hk.osgiadapter.OSGiObrModuleImpl v;
org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl v;
v := @this: org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl;
v := @parameter: com.sun.enterprise.module.ModuleDefinition;
v = specialinvoke v.<org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl: org.osgi.framework.Bundle getExistingBundle(com.sun.enterprise.module.ModuleDefinition)>(v);
v = new org.jvnet.hk.osgiadapter.OSGiObrModuleImpl;
specialinvoke v.<org.jvnet.hk.osgiadapter.OSGiObrModuleImpl: void <init>(org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl,org.osgi.framework.Bundle,com.sun.enterprise.module.ModuleDefinition)>(v, v, v);
return v;
}
protected com.sun.enterprise.module.HK2Module loadFromRepository(java.lang.String, java.lang.String)
{
org.jvnet.hk.osgiadapter.ObrHandler v;
com.sun.enterprise.module.HK2Module v;
java.lang.String v, v;
org.osgi.framework.Bundle v;
org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl v;
v := @this: org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl: org.jvnet.hk.osgiadapter.ObrHandler getObrHandler()>();
v = virtualinvoke v.<org.jvnet.hk.osgiadapter.ObrHandler: org.osgi.framework.Bundle deploy(java.lang.String,java.lang.String)>(v, v);
if v == null goto label;
v = virtualinvoke v.<org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl: com.sun.enterprise.module.HK2Module getModule(org.osgi.framework.Bundle)>(v);
goto label;
label:
v = null;
label:
return v;
}
public void bundleChanged(org.osgi.framework.BundleEvent)
{
com.sun.enterprise.module.HK2Module v;
org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl v;
org.osgi.framework.BundleEvent v;
int v;
java.lang.Class v;
java.lang.Object v;
org.osgi.framework.Bundle v, v;
boolean v;
v := @this: org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl;
v := @parameter: org.osgi.framework.BundleEvent;
v = virtualinvoke v.<org.osgi.framework.BundleEvent: int getType()>();
lookupswitch(v)
{
case 1: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<org.osgi.framework.BundleEvent: org.osgi.framework.Bundle getBundle()>();
v = virtualinvoke v.<org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl: com.sun.enterprise.module.HK2Module getModule(org.osgi.framework.Bundle)>(v);
v = v instanceof org.jvnet.hk.osgiadapter.OSGiObrModuleImpl;
if v == 0 goto label;
v = class "Lorg/jvnet/hk2/osgiadapter/OSGiObrModuleImpl;";
v = virtualinvoke v.<java.lang.Class: java.lang.Object cast(java.lang.Object)>(v);
v = virtualinvoke v.<org.osgi.framework.BundleEvent: org.osgi.framework.Bundle getBundle()>();
virtualinvoke v.<org.jvnet.hk.osgiadapter.OSGiObrModuleImpl: void setBundle(org.osgi.framework.Bundle)>(v);
label:
return;
}
public void shutdown()
{
java.lang.Throwable v;
java.lang.Object[] v, v;
long v;
java.util.logging.Level v, v;
java.lang.String v, v;
boolean v;
java.util.Iterator v;
org.jvnet.hk.osgiadapter.ObrHandler v;
java.util.logging.Logger v, v;
org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl v;
java.util.List v, v;
java.lang.Object v;
v := @this: org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl;
v = virtualinvoke v.<org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl: org.jvnet.hk.osgiadapter.ObrHandler getObrHandler()>();
virtualinvoke v.<org.jvnet.hk.osgiadapter.ObrHandler: void close()>();
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
v = v.<org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl: java.util.logging.Logger logger>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
v = newarray (java.lang.Object)[1];
v = specialinvoke v.<org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl: java.util.List getBundleIds(java.util.List)>(v);
v = interfaceinvoke v.<java.util.List: java.lang.Object[] toArray()>();
v = staticinvoke <java.util.Arrays: java.lang.String toString(java.lang.Object[])>(v);
v[0] = v;
virtualinvoke v.<java.util.logging.Logger: void logp(java.util.logging.Level,java.lang.String,java.lang.String,java.lang.String,java.lang.Object[])>(v, "OSGiObrModulesRegistryImpl", "shutdown", "bundlesToUninstall = {0}", 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()>();
label:
interfaceinvoke v.<org.osgi.framework.Bundle: void uninstall()>();
label:
goto label;
label:
v := @caughtexception;
v = v.<org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl: java.util.logging.Logger logger>;
v = <java.util.logging.Level: java.util.logging.Level WARNING>;
v = interfaceinvoke v.<org.osgi.framework.Bundle: long getBundleId()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(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[])>("Exception while uninstalling bundle \u0001");
virtualinvoke v.<java.util.logging.Logger: void logp(java.util.logging.Level,java.lang.String,java.lang.String,java.lang.String,java.lang.Throwable)>(v, "OSGiObrModulesRegistryImpl", "shutdown", v, v);
goto label;
label:
specialinvoke v.<org.jvnet.hk.osgiadapter.AbstractOSGiModulesRegistryImpl: void shutdown()>();
return;
catch org.osgi.framework.BundleException from label to label with label;
}
private java.util.List getBundlesToUninstall()
{
org.osgi.framework.Bundle[] v;
org.osgi.framework.BundleContext v;
java.util.ArrayList v;
org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl v;
org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl$1 v;
int v, v;
java.lang.String v;
org.osgi.framework.Bundle v;
boolean v;
v := @this: org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl: org.osgi.framework.BundleContext bctx>;
v = interfaceinvoke v.<org.osgi.framework.BundleContext: org.osgi.framework.Bundle[] getBundles()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.lang.String getLocation()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("obr:");
if v == 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
goto label;
label:
v = new org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl$1;
specialinvoke v.<org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl$1: void <init>(org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl)>(v);
staticinvoke <java.util.Collections: void sort(java.util.List,java.util.Comparator)>(v, v);
return v;
}
private java.util.List getBundleIds(java.util.List)
{
java.util.Iterator v;
long v;
java.util.ArrayList v;
org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl v;
java.util.List v;
java.lang.Long v;
int v;
java.lang.Object v;
boolean v;
v := @this: org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl;
v := @parameter: java.util.List;
v = new java.util.ArrayList;
v = interfaceinvoke v.<java.util.List: int size()>();
specialinvoke v.<java.util.ArrayList: void <init>(int)>(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()>();
v = interfaceinvoke v.<org.osgi.framework.Bundle: long getBundleId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
org.jvnet.hk.osgiadapter.ObrHandler getObrHandler()
{
org.jvnet.hk.osgiadapter.ObrHandler v;
org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl v;
v := @this: org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl;
v = v.<org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl: org.jvnet.hk.osgiadapter.ObrHandler obrHandler>;
return v;
}
private org.osgi.framework.Bundle getExistingBundle(com.sun.enterprise.module.ModuleDefinition)
{
org.osgi.framework.Bundle[] v;
org.osgi.framework.Version v, v;
org.osgi.framework.BundleContext v;
org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl v;
com.sun.enterprise.module.ModuleDefinition v;
int v, v;
java.lang.String v, v, v;
org.osgi.framework.Bundle v;
boolean v, v, v;
v := @this: org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl;
v := @parameter: com.sun.enterprise.module.ModuleDefinition;
v = interfaceinvoke v.<com.sun.enterprise.module.ModuleDefinition: java.lang.String getName()>();
v = v.<org.jvnet.hk.osgiadapter.OSGiObrModulesRegistryImpl: org.osgi.framework.BundleContext bctx>;
v = interfaceinvoke v.<org.osgi.framework.BundleContext: org.osgi.framework.Bundle[] getBundles()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = interfaceinvoke v.<org.osgi.framework.Bundle: java.lang.String getSymbolicName()>();
if v == v goto label;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
v = interfaceinvoke v.<com.sun.enterprise.module.ModuleDefinition: java.lang.String getVersion()>();
v = staticinvoke <org.osgi.framework.Version: org.osgi.framework.Version parseVersion(java.lang.String)>(v);
v = interfaceinvoke v.<org.osgi.framework.Bundle: org.osgi.framework.Version getVersion()>();
v = virtualinvoke v.<org.osgi.framework.Version: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
return v;
label:
v = v + 1;
goto label;
label:
return null;
}
}