final class org.apache.camel.impl.cluster.ClusteredRouteController$PolicyFactory extends java.lang.Object implements org.apache.camel.spi.RoutePolicyFactory
{
final org.apache.camel.impl.cluster.ClusteredRouteController this$0;
private void <init>(org.apache.camel.impl.cluster.ClusteredRouteController)
{
org.apache.camel.impl.cluster.ClusteredRouteController v;
org.apache.camel.impl.cluster.ClusteredRouteController$PolicyFactory v;
v := @this: org.apache.camel.impl.cluster.ClusteredRouteController$PolicyFactory;
v := @parameter: org.apache.camel.impl.cluster.ClusteredRouteController;
v.<org.apache.camel.impl.cluster.ClusteredRouteController$PolicyFactory: org.apache.camel.impl.cluster.ClusteredRouteController this$0> = v;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public org.apache.camel.spi.RoutePolicy createRoutePolicy(org.apache.camel.CamelContext, java.lang.String, org.apache.camel.model.RouteDefinition)
{
java.time.Duration v;
boolean v, v, v;
org.apache.camel.cluster.CamelClusterService v;
org.apache.camel.RuntimeCamelException v;
java.util.function.Predicate v, v;
java.util.Set v;
java.lang.Exception v;
java.util.List v, v, v;
java.util.stream.Stream v, v;
org.apache.camel.impl.cluster.ClusteredRouteController v, v, v, v, v, v, v, v;
java.util.function.Supplier v, v;
java.util.concurrent.ConcurrentMap v;
java.lang.String v, v;
org.apache.camel.model.RouteDefinition v;
org.apache.camel.CamelContext v, v;
org.apache.camel.impl.cluster.ClusteredRoutePolicy v;
org.slf4j.Logger v, v;
org.apache.camel.impl.cluster.ClusteredRouteController$PolicyFactory v;
org.apache.camel.impl.cluster.ClusteredRouteConfiguration v, v, v;
java.lang.Class v;
java.lang.Object v, v, v;
v := @this: org.apache.camel.impl.cluster.ClusteredRouteController$PolicyFactory;
v := @parameter: org.apache.camel.CamelContext;
v := @parameter: java.lang.String;
v := @parameter: org.apache.camel.model.RouteDefinition;
v = v.<org.apache.camel.impl.cluster.ClusteredRouteController$PolicyFactory: org.apache.camel.impl.cluster.ClusteredRouteController this$0>;
v = v.<org.apache.camel.impl.cluster.ClusteredRouteController: java.util.List filters>;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.camel.impl.cluster.ClusteredRouteController$PolicyFactory$lambda_createRoutePolicy_0__341: java.util.function.Predicate bootstrap$(org.apache.camel.CamelContext,java.lang.String,org.apache.camel.model.RouteDefinition)>(v, v, v);
v = interfaceinvoke v.<java.util.stream.Stream: boolean allMatch(java.util.function.Predicate)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.camel.model.RouteDefinition: java.util.List getRoutePolicies()>();
v = staticinvoke <org.apache.camel.util.ObjectHelper: boolean isNotEmpty(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.camel.model.RouteDefinition: java.util.List getRoutePolicies()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = class "Lorg/apache/camel/impl/cluster/ClusteredRoutePolicy;";
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.camel.impl.cluster.ClusteredRouteController$PolicyFactory$isInstance__344: java.util.function.Predicate bootstrap$(java.lang.Class)>(class "Lorg/apache/camel/impl/cluster/ClusteredRoutePolicy;");
v = interfaceinvoke v.<java.util.stream.Stream: boolean anyMatch(java.util.function.Predicate)>(v);
if v == 0 goto label;
v = <org.apache.camel.impl.cluster.ClusteredRouteController: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Route \'{}\' has a ClusteredRoutePolicy already set-up", v);
return null;
label:
v = v.<org.apache.camel.impl.cluster.ClusteredRouteController$PolicyFactory: org.apache.camel.impl.cluster.ClusteredRouteController this$0>;
v = v.<org.apache.camel.impl.cluster.ClusteredRouteController: java.util.concurrent.ConcurrentMap configurations>;
v = v.<org.apache.camel.impl.cluster.ClusteredRouteController$PolicyFactory: org.apache.camel.impl.cluster.ClusteredRouteController this$0>;
v = v.<org.apache.camel.impl.cluster.ClusteredRouteController: org.apache.camel.impl.cluster.ClusteredRouteConfiguration defaultConfiguration>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object getOrDefault(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.camel.impl.cluster.ClusteredRouteConfiguration: java.lang.String getNamespace()>();
v = v.<org.apache.camel.impl.cluster.ClusteredRouteController$PolicyFactory: org.apache.camel.impl.cluster.ClusteredRouteController this$0>;
v = v.<org.apache.camel.impl.cluster.ClusteredRouteController: org.apache.camel.impl.cluster.ClusteredRouteConfiguration defaultConfiguration>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.camel.impl.cluster.ClusteredRouteController$PolicyFactory$getNamespace__342: java.util.function.Supplier bootstrap$(org.apache.camel.impl.cluster.ClusteredRouteConfiguration)>(v);
v = staticinvoke <org.apache.camel.util.ObjectHelper: java.lang.Object supplyIfEmpty(java.lang.Object,java.util.function.Supplier)>(v, v);
v = virtualinvoke v.<org.apache.camel.impl.cluster.ClusteredRouteConfiguration: java.time.Duration getInitialDelay()>();
v = v.<org.apache.camel.impl.cluster.ClusteredRouteController$PolicyFactory: org.apache.camel.impl.cluster.ClusteredRouteController this$0>;
v = v.<org.apache.camel.impl.cluster.ClusteredRouteController: org.apache.camel.impl.cluster.ClusteredRouteConfiguration defaultConfiguration>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.camel.impl.cluster.ClusteredRouteController$PolicyFactory$getInitialDelay__343: java.util.function.Supplier bootstrap$(org.apache.camel.impl.cluster.ClusteredRouteConfiguration)>(v);
v = staticinvoke <org.apache.camel.util.ObjectHelper: java.lang.Object supplyIfEmpty(java.lang.Object,java.util.function.Supplier)>(v, v);
v = v.<org.apache.camel.impl.cluster.ClusteredRouteController$PolicyFactory: org.apache.camel.impl.cluster.ClusteredRouteController this$0>;
v = v.<org.apache.camel.impl.cluster.ClusteredRouteController: org.apache.camel.cluster.CamelClusterService clusterService>;
v = staticinvoke <org.apache.camel.impl.cluster.ClusteredRoutePolicy: org.apache.camel.impl.cluster.ClusteredRoutePolicy forNamespace(org.apache.camel.cluster.CamelClusterService,java.lang.String)>(v, v);
v = v.<org.apache.camel.impl.cluster.ClusteredRouteController$PolicyFactory: org.apache.camel.impl.cluster.ClusteredRouteController this$0>;
v = virtualinvoke v.<org.apache.camel.impl.cluster.ClusteredRouteController: org.apache.camel.CamelContext getCamelContext()>();
virtualinvoke v.<org.apache.camel.impl.cluster.ClusteredRoutePolicy: void setCamelContext(org.apache.camel.CamelContext)>(v);
virtualinvoke v.<org.apache.camel.impl.cluster.ClusteredRoutePolicy: void setInitialDelay(java.time.Duration)>(v);
v = <org.apache.camel.impl.cluster.ClusteredRouteController: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Attaching route \'{}\' to namespace \'{}\'", v, v);
v = v.<org.apache.camel.impl.cluster.ClusteredRouteController$PolicyFactory: org.apache.camel.impl.cluster.ClusteredRouteController this$0>;
v = v.<org.apache.camel.impl.cluster.ClusteredRouteController: java.util.Set routes>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
return v;
label:
v := @caughtexception;
v = staticinvoke <org.apache.camel.util.ObjectHelper: org.apache.camel.RuntimeCamelException wrapRuntimeCamelException(java.lang.Throwable)>(v);
throw v;
label:
return null;
catch java.lang.Exception from label to label with label;
}
}