public class org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryAnnotationFacetFactory extends org.apache.isis.core.metamodel.facets.FacetFactoryAbstract implements org.apache.isis.core.metamodel.facetapi.MetaModelRefiner
{
private final org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext jdoFacetContext;
private static final java.util.regex.Pattern fromPattern;
private static final java.util.regex.Pattern variablesPattern;
public void <init>(org.apache.isis.core.metamodel.context.MetaModelContext, org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext)
{
org.apache.isis.commons.collections.ImmutableEnumSet v;
org.apache.isis.core.metamodel.context.MetaModelContext v;
org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryAnnotationFacetFactory v;
org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext v;
v := @this: org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryAnnotationFacetFactory;
v := @parameter: org.apache.isis.core.metamodel.context.MetaModelContext;
v := @parameter: org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext;
v = <org.apache.isis.core.metamodel.facetapi.FeatureType: org.apache.isis.commons.collections.ImmutableEnumSet OBJECTS_ONLY>;
specialinvoke v.<org.apache.isis.core.metamodel.facets.FacetFactoryAbstract: void <init>(org.apache.isis.core.metamodel.context.MetaModelContext,org.apache.isis.commons.collections.ImmutableEnumSet)>(v, v);
v.<org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryAnnotationFacetFactory: org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext jdoFacetContext> = v;
return;
}
public void process(org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext)
{
javax.jdo.annotations.Query[] v;
org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext v;
org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryFacetAnnotation v;
org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueriesFacetAnnotation v;
java.util.Optional v, v;
org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryAnnotationFacetFactory v;
org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext v;
java.lang.Class v;
java.lang.Object v, v;
boolean v;
org.apache.isis.core.metamodel.facetapi.FacetHolder v;
v := @this: org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryAnnotationFacetFactory;
v := @parameter: org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext;
v = virtualinvoke v.<org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext: java.lang.Class getCls()>();
v = v.<org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryAnnotationFacetFactory: org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext jdoFacetContext>;
v = interfaceinvoke v.<org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext: boolean isPersistenceEnhanced(java.lang.Class)>(v);
if v != 0 goto label;
return;
label:
v = virtualinvoke v.<org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext: java.util.Optional synthesizeOnType(java.lang.Class)>(class "Ljavax/jdo/annotations/Queries;");
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
v = virtualinvoke v.<org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext: org.apache.isis.core.metamodel.facetapi.FacetHolder getFacetHolder()>();
if v == null goto label;
v = new org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueriesFacetAnnotation;
v = interfaceinvoke v.<javax.jdo.annotations.Queries: javax.jdo.annotations.Query[] value()>();
specialinvoke v.<org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueriesFacetAnnotation: void <init>(javax.jdo.annotations.Query[],org.apache.isis.core.metamodel.facetapi.FacetHolder)>(v, v);
virtualinvoke v.<org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryAnnotationFacetFactory: org.apache.isis.core.metamodel.facetapi.Facet addFacet(org.apache.isis.core.metamodel.facetapi.Facet)>(v);
return;
label:
v = virtualinvoke v.<org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext: java.util.Optional synthesizeOnType(java.lang.Class)>(class "Ljavax/jdo/annotations/Query;");
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
if v == null goto label;
v = new org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryFacetAnnotation;
specialinvoke v.<org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryFacetAnnotation: void <init>(javax.jdo.annotations.Query,org.apache.isis.core.metamodel.facetapi.FacetHolder)>(v, v);
virtualinvoke v.<org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryAnnotationFacetFactory: org.apache.isis.core.metamodel.facetapi.Facet addFacet(org.apache.isis.core.metamodel.facetapi.Facet)>(v);
label:
return;
}
public void refineProgrammingModel(org.apache.isis.core.metamodel.progmodel.ProgrammingModel)
{
org.apache.isis.persistence.jdo.metamodel.facets.object.query.MetaModelVisitingValidatorForFromClause v;
org.apache.isis.core.config.IsisConfiguration$Core v, v;
org.apache.isis.core.metamodel.progmodel.ProgrammingModel v;
boolean v, v;
org.apache.isis.core.config.IsisConfiguration$Core$MetaModel$Validator v, v;
org.apache.isis.core.metamodel.progmodel.ProgrammingModel$Marker[] v, v;
org.apache.isis.core.metamodel.context.MetaModelContext v, v;
org.apache.isis.core.config.IsisConfiguration$Core$MetaModel$Validator$Jdoql v, v;
org.apache.isis.persistence.jdo.metamodel.facets.object.query.MetaModelVisitingValidatorForVariablesClause v;
org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryAnnotationFacetFactory v;
org.apache.isis.core.config.IsisConfiguration$Core$MetaModel v, v;
org.apache.isis.core.config.IsisConfiguration v, v;
v := @this: org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryAnnotationFacetFactory;
v := @parameter: org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryAnnotationFacetFactory: org.apache.isis.core.config.IsisConfiguration getConfiguration()>();
v = virtualinvoke v.<org.apache.isis.core.config.IsisConfiguration: org.apache.isis.core.config.IsisConfiguration$Core getCore()>();
v = virtualinvoke v.<org.apache.isis.core.config.IsisConfiguration$Core: org.apache.isis.core.config.IsisConfiguration$Core$MetaModel getMetaModel()>();
v = virtualinvoke v.<org.apache.isis.core.config.IsisConfiguration$Core$MetaModel: org.apache.isis.core.config.IsisConfiguration$Core$MetaModel$Validator getValidator()>();
v = virtualinvoke v.<org.apache.isis.core.config.IsisConfiguration$Core$MetaModel$Validator: org.apache.isis.core.config.IsisConfiguration$Core$MetaModel$Validator$Jdoql getJdoql()>();
v = virtualinvoke v.<org.apache.isis.core.config.IsisConfiguration$Core$MetaModel$Validator$Jdoql: boolean isFromClause()>();
if v == 0 goto label;
v = new org.apache.isis.persistence.jdo.metamodel.facets.object.query.MetaModelVisitingValidatorForFromClause;
v = interfaceinvoke v.<org.apache.isis.core.metamodel.progmodel.ProgrammingModel: org.apache.isis.core.metamodel.context.MetaModelContext getMetaModelContext()>();
specialinvoke v.<org.apache.isis.persistence.jdo.metamodel.facets.object.query.MetaModelVisitingValidatorForFromClause: void <init>(org.apache.isis.core.metamodel.context.MetaModelContext)>(v);
v = newarray (org.apache.isis.core.metamodel.progmodel.ProgrammingModel$Marker)[0];
interfaceinvoke v.<org.apache.isis.core.metamodel.progmodel.ProgrammingModel: void addValidator(org.apache.isis.core.metamodel.specloader.validator.MetaModelValidator,org.apache.isis.core.metamodel.progmodel.ProgrammingModel$Marker[])>(v, v);
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryAnnotationFacetFactory: org.apache.isis.core.config.IsisConfiguration getConfiguration()>();
v = virtualinvoke v.<org.apache.isis.core.config.IsisConfiguration: org.apache.isis.core.config.IsisConfiguration$Core getCore()>();
v = virtualinvoke v.<org.apache.isis.core.config.IsisConfiguration$Core: org.apache.isis.core.config.IsisConfiguration$Core$MetaModel getMetaModel()>();
v = virtualinvoke v.<org.apache.isis.core.config.IsisConfiguration$Core$MetaModel: org.apache.isis.core.config.IsisConfiguration$Core$MetaModel$Validator getValidator()>();
v = virtualinvoke v.<org.apache.isis.core.config.IsisConfiguration$Core$MetaModel$Validator: org.apache.isis.core.config.IsisConfiguration$Core$MetaModel$Validator$Jdoql getJdoql()>();
v = virtualinvoke v.<org.apache.isis.core.config.IsisConfiguration$Core$MetaModel$Validator$Jdoql: boolean isVariablesClause()>();
if v == 0 goto label;
v = new org.apache.isis.persistence.jdo.metamodel.facets.object.query.MetaModelVisitingValidatorForVariablesClause;
v = interfaceinvoke v.<org.apache.isis.core.metamodel.progmodel.ProgrammingModel: org.apache.isis.core.metamodel.context.MetaModelContext getMetaModelContext()>();
specialinvoke v.<org.apache.isis.persistence.jdo.metamodel.facets.object.query.MetaModelVisitingValidatorForVariablesClause: void <init>(org.apache.isis.core.metamodel.context.MetaModelContext)>(v);
v = newarray (org.apache.isis.core.metamodel.progmodel.ProgrammingModel$Marker)[0];
interfaceinvoke v.<org.apache.isis.core.metamodel.progmodel.ProgrammingModel: void addValidator(org.apache.isis.core.metamodel.specloader.validator.MetaModelValidator,org.apache.isis.core.metamodel.progmodel.ProgrammingModel$Marker[])>(v, v);
label:
return;
}
static java.lang.String 'from'(java.lang.String)
{
java.util.regex.Matcher v;
java.lang.String v, v;
java.util.regex.Pattern v;
boolean v;
v := @parameter: java.lang.String;
v = <org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryAnnotationFacetFactory: java.util.regex.Pattern fromPattern>;
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(1);
goto label;
label:
v = null;
label:
return v;
}
static java.lang.String variables(java.lang.String)
{
java.util.regex.Matcher v;
java.lang.String v, v;
java.util.regex.Pattern v;
boolean v;
v := @parameter: java.lang.String;
v = <org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryAnnotationFacetFactory: java.util.regex.Pattern variablesPattern>;
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(1);
goto label;
label:
v = null;
label:
return v;
}
static void <clinit>()
{
java.util.regex.Pattern v, v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String,int)>("SELECT.*?FROM[\\s]+([^\\s]+).*", 2);
<org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryAnnotationFacetFactory: java.util.regex.Pattern fromPattern> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String,int)>(".*?VARIABLES[\\s]+([^\\s]+).*", 2);
<org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryAnnotationFacetFactory: java.util.regex.Pattern variablesPattern> = v;
return;
}
}