package org.whole.lang.xsd.codebase; import org.whole.lang.builders.IBuilderOperation; import org.whole.lang.templates.AbstractTemplateFactory; public class AnnotateXmlSchemaQuery extends AbstractTemplateFactory<org.whole.lang.queries.model.Block> { public void apply(IBuilderOperation op) { org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI); b0.Block_(61); b0.Filter_(); org.whole.lang.commons.builders.ICommonsBuilder b1 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI); b1.SameStageFragment_(); org.whole.lang.workflows.builders.IWorkflowsBuilder b2 = (org.whole.lang.workflows.builders.IWorkflowsBuilder) op.wGetBuilder(org.whole.lang.workflows.reflect.WorkflowsLanguageKit.URI); b2.InvokeJavaClassMethod_(); b2.Text("get any type entity name"); b1.Resolver(); b1.Resolver(); b2.StringLiteral("org.whole.lang.xsd.util.SchemaUtils"); b2.StringLiteral("getAnyTypeEntityName()"); b1.Resolver(); b2._InvokeJavaClassMethod(); b1._SameStageFragment(); b0.VariableTest("ANY_TYPE_ENTITY_NAME"); b0._Filter(); b0.Filter_(); b0.StringLiteral("http://www.w3.org/2001/XMLSchema"); b0.VariableTest("XML_SCHEMA_NS_URI"); b0._Filter(); b0.Filter_(); b0.FeatureStep("targetNamespace"); b0.VariableTest("TARGET_NS_URI"); b0._Filter(); b0.PointwiseInsert_(); b0.Placement("INTO"); b0.FeatureStep("namespaces"); b1.StageUpFragment_(); org.whole.lang.xsd.builders.IXsdBuilder b3 = (org.whole.lang.xsd.builders.IXsdBuilder) op.wGetBuilder(org.whole.lang.xsd.reflect.XsdLanguageKit.URI); b3.NamespaceDecl_(); b3.Name("xml"); b3.AnyURI("http://www.w3.org/XML/1998/namespace"); b3._NamespaceDecl(); b1._StageUpFragment(); b0._PointwiseInsert(); b0.QueryDeclaration_(); b0.Name("resolveNamespace"); b0.Names_(3); b0.Name("qname"); b0.Name("prefix"); b0.Name("uri"); b0._Names(); b0.Block_(3); b0.If_(); b0.Not_(); b0.ExpressionTest_(); b0.Equals_(); b1.SameStageFragment_(); b2.InvokeJavaInstanceMethod_(); b2.Text("index of \":\" in reference"); b1.Resolver(); b2.Variable("self"); b1.Resolver(); b2.StringLiteral("java.lang.String"); b2.StringLiteral("indexOf(java.lang.String)"); b2.Expressions_(1); b2.StringLiteral(":"); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b1._SameStageFragment(); b0.IntLiteral(-1); b0._Equals(); b0._ExpressionTest(); b0._Not(); b0.Filter_(); b1.SameStageFragment_(); b2.InvokeJavaInstanceMethod_(); b2.Text("get target prefix"); b1.Resolver(); b2.Variable("self"); b1.Resolver(); b2.StringLiteral("java.lang.String"); b2.StringLiteral("replaceFirst(java.lang.String, java.lang.String)"); b2.Expressions_(2); b2.StringLiteral(":.+"); b2.StringLiteral(""); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b1._SameStageFragment(); b0.VariableTest("prefix"); b0._Filter(); b0._If(); b0.Path_(4); b0.RootStep(); b0.FeatureStep("namespaces"); b0.Choose_(2); b0.If_(); b0.ExpressionTest_(); b0.Path_(1); b0.VariableRefStep("prefix"); b0._Path(); b0._ExpressionTest(); b0.Filter_(); b0.ChildStep(); b0.ExpressionTest_(); b0.Equals_(); b0.VariableRefStep("prefix"); b0.Singleton_(); b0.FeatureStep("prefix"); b0._Singleton(); b0._Equals(); b0._ExpressionTest(); b0._Filter(); b0._If(); b0.Do_(); b0.Filter_(); b0.ChildStep(); b0.ExpressionTest_(); b0.Filter_(); b0.FeatureStep("prefix"); b0.KindTest("RESOLVER"); b0._Filter(); b0._ExpressionTest(); b0._Filter(); b0._Do(); b0._Choose(); b0.Filter_(); b0.FeatureStep("uri"); b0.VariableTest("uri"); b0._Filter(); b0._Path(); b0.PointwiseUpdate_(); b0.SelfStep(); b0.Addition_(); b0.VariableRefStep("uri"); b0.Addition_(); b0.StringLiteral(":"); b1.SameStageFragment_(); b2.InvokeJavaInstanceMethod_(); b2.Text("get base name"); b1.Resolver(); b2.Variable("self"); b1.Resolver(); b2.StringLiteral("java.lang.String"); b2.StringLiteral("replaceFirst(java.lang.String, java.lang.String)"); b2.Expressions_(2); b2.StringLiteral(".+:"); b2.StringLiteral(""); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b1._SameStageFragment(); b0._Addition(); b0._Addition(); b0._PointwiseUpdate(); b0._Block(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("matchesUriInQName"); b0.Names_(1); b0.Name("uri"); b0._Names(); b0.Filter_(); b0.SelfStep(); b0.ExpressionTest_(); b0.Equals_(); b0.VariableRefStep("uri"); b0.Singleton_(); b1.SameStageFragment_(); b2.InvokeJavaInstanceMethod_(); b2.Text("get uri part"); b1.Resolver(); b2.Variable("self"); b1.Resolver(); b2.StringLiteral("java.lang.String"); b2.StringLiteral("replaceFirst(java.lang.String, java.lang.String)"); b2.Expressions_(2); b2.StringLiteral(":[^:]+$"); b2.StringLiteral(""); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b1._SameStageFragment(); b0._Singleton(); b0._Equals(); b0._ExpressionTest(); b0._Filter(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("isLocalQName"); b1.Resolver(); b0.Call_(); b0.Name("matchesUriInQName"); b0.Expressions_(1); b0.VariableRefStep("TARGET_NS_URI"); b0._Expressions(); b0._Call(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("isSchemaQName"); b0.Names_(3); b0.Name("qname"); b0.Name("prefix"); b0.Name("uri"); b0._Names(); b0.Call_(); b0.Name("matchesUriInQName"); b0.Expressions_(1); b0.VariableRefStep("XML_SCHEMA_NS_URI"); b0._Expressions(); b0._Call(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("isImportedQName"); b0.Names_(3); b0.Name("qname"); b0.Name("prefix"); b0.Name("uri"); b0._Names(); b0.Filter_(); b0.SelfStep(); b0.Not_(); b0.Or_(2); b0.ExpressionTest_(); b0.Call_(); b0.Name("isLocalQName"); b1.Resolver(); b0._Call(); b0._ExpressionTest(); b0.ExpressionTest_(); b0.Call_(); b0.Name("isSchemaQName"); b1.Resolver(); b0._Call(); b0._ExpressionTest(); b0._Or(); b0._Not(); b0._Filter(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("toType"); b0.Names_(3); b0.Name("entity"); b0.Name("type"); b0.Name("ed"); b0._Names(); b1.SameStageFragment_(); b2.Sequence_(); b2.Text("sequence"); b2.FlowObjects_(2); b2.InvokeJavaClassMethod_(); b2.Text("convert type to entity descriptor"); b2.Variable("ed"); b1.Resolver(); b2.StringLiteral("org.whole.lang.commons.parsers.CommonsDataTypePersistenceParser"); b2.StringLiteral("getEntityDescriptor(java.lang.String)"); b2.Expressions_(1); b2.Variable("type"); b2._Expressions(); b2._InvokeJavaClassMethod(); b2.InvokeJavaClassMethod_(); b2.Text("convert entity"); b1.Resolver(); b1.Resolver(); b2.StringLiteral("org.whole.lang.util.EntityUtils"); b2.StringLiteral("convertCloneIfParented(org.whole.lang.model.IEntity, org.whole.lang.reflect.EntityDescriptor)"); b2.Expressions_(2); b2.Variable("entity"); b2.Variable("ed"); b2._Expressions(); b2._InvokeJavaClassMethod(); b2._FlowObjects(); b2._Sequence(); b1._SameStageFragment(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getComponent"); b0.Names_(2); b0.Name("components"); b0.Name("name"); b0._Names(); b0.Block_(3); b0.Filter_(); b0.Call_(); b0.Name("toType"); b0.Expressions_(2); b1.SameStageFragment_(); b2.InvokeJavaInstanceMethod_(); b2.Text("get base name"); b1.Resolver(); b2.Variable("self"); b1.Resolver(); b2.StringLiteral("java.lang.String"); b2.StringLiteral("replaceFirst(java.lang.String, java.lang.String)"); b2.Expressions_(2); b2.StringLiteral(".+:"); b2.StringLiteral(""); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b1._SameStageFragment(); b0.Addition_(); b0.VariableRefStep("XML_SCHEMA_NS_URI"); b0.StringLiteral("#Name"); b0._Addition(); b0._Expressions(); b0._Call(); b0.VariableTest("name"); b0._Filter(); b0.Path_(2); b0.RootStep(); b0.Filter_(); b0.FeatureStep("components"); b0.VariableTest("components"); b0._Filter(); b0._Path(); b0.Choose_(5); b0.Path_(3); b0.Filter_(); b0.ParentStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ElementRef"); b0._Filter(); b0.VariableRefStep("components"); b0.Filter_(); b0.ChildStep(); b0.And_(2); b0.ExpressionTest_(); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#name"); b0.VariableTest("name"); b0._Filter(); b0._ExpressionTest(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ElementDecl"); b0._And(); b0._Filter(); b0._Path(); b0.Path_(3); b0.Filter_(); b0.ParentStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#AttributeUseRef"); b0._Filter(); b0.VariableRefStep("components"); b0.Filter_(); b0.ChildStep(); b0.And_(2); b0.ExpressionTest_(); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#name"); b0.VariableTest("name"); b0._Filter(); b0._ExpressionTest(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#AttributeDecl"); b0._And(); b0._Filter(); b0._Path(); b0.Path_(3); b0.Filter_(); b0.ParentStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#AttributeGroupRef"); b0._Filter(); b0.VariableRefStep("components"); b0.Filter_(); b0.ChildStep(); b0.And_(2); b0.ExpressionTest_(); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#name"); b0.VariableTest("name"); b0._Filter(); b0._ExpressionTest(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#AttributeGroupDef"); b0._And(); b0._Filter(); b0._Path(); b0.Path_(3); b0.Filter_(); b0.ParentStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ModelGroupRef"); b0._Filter(); b0.VariableRefStep("components"); b0.Filter_(); b0.ChildStep(); b0.And_(2); b0.ExpressionTest_(); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#name"); b0.VariableTest("name"); b0._Filter(); b0._ExpressionTest(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ModelGroupDef"); b0._And(); b0._Filter(); b0._Path(); b0.Path_(2); b0.VariableRefStep("components"); b0.Filter_(); b0.ChildStep(); b0.And_(2); b0.ExpressionTest_(); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#name"); b0.VariableTest("name"); b0._Filter(); b0._ExpressionTest(); b0.SubtypeTest("http://www.w3.org/2001/XMLSchema#TypeDef"); b0._And(); b0._Filter(); b0._Path(); b0._Choose(); b0._Block(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getSimpleBaseType"); b1.Resolver(); b0.Path_(2); b0.FeatureStep("content"); b0.Choose_(2); b0.Path_(3); b0.Filter_(); b0.SelfStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#SimpleContent"); b0._Filter(); b0.FeatureStep("derivation"); b0.FeatureStep("base"); b0._Path(); b0.FeatureStep("base"); b0._Choose(); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getComplexBaseType"); b1.Resolver(); b0.Path_(3); b0.Filter_(); b0.FeatureStep("content"); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ComplexContent"); b0._Filter(); b0.FeatureStep("derivation"); b0.FeatureStep("base"); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getBaseType"); b1.Resolver(); b0.Choose_(2); b0.Call_(); b0.Name("getComplexBaseType"); b1.Resolver(); b0._Call(); b0.Call_(); b0.Name("getSimpleBaseType"); b1.Resolver(); b0._Call(); b0._Choose(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getAppInfo"); b0.Names_(1); b0.Name("annotated"); b0._Names(); b0.Block_(2); b0.Filter_(); b0.SelfStep(); b0.VariableTest("annotated"); b0._Filter(); b0.Path_(7); b0.VariableRefStep("annotated"); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#annotation"); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#list"); b0.Filter_(); b0.ChildStep(); b0.And_(2); b0.TypeTest("http://www.w3.org/2001/XMLSchema#Appinfo"); b0.ExpressionTest_(); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#source"); b0.ExpressionTest_(); b1.StageUpFragment_(); b3.AnyURI("http://lang.whole.org/Models"); b1._StageUpFragment(); b0._ExpressionTest(); b0._Filter(); b0._ExpressionTest(); b0._And(); b0._Filter(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#content"); b0.Filter_(); b0.ChildStep(); b0.SubtypeTest("http://lang.whole.org/Commons#Fragment");//WAS KindTest("FRAGMENT") b0._Filter(); b0.Filter_(); b0.FeatureStep("http://lang.whole.org/Commons#rootEntity"); b0.LanguageTest("http://lang.whole.org/Models"); b0._Filter(); b0._Path(); b0._Block(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("findAppInfo"); b1.Resolver(); b0.Path_(2); b0.Choose_(4); b0.Path_(4); b0.Filter_(); b0.SelfStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ModelGroupRef"); b0._Filter(); b0.FeatureStep("ref"); b0.Call_(); b0.Name("getComponent"); b1.Resolver(); b0._Call(); b0.FeatureStep("modelGroup"); b0._Path(); b0.Path_(2); b0.FeatureStep("ref"); b0.Call_(); b0.Name("getComponent"); b1.Resolver(); b0._Call(); b0._Path(); b0.Path_(2); b0.Filter_(); b0.SelfStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ModelGroupDef"); b0._Filter(); b0.FeatureStep("modelGroup"); b0._Path(); b0.SelfStep(); b0._Choose(); b0.Call_(); b0.Name("getAppInfo"); b1.Resolver(); b0._Call(); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("findAppInfoType"); b1.Resolver(); b0.Path_(2); b0.Call_(); b0.Name("findAppInfo"); b1.Resolver(); b0._Call(); b0.Choose_(2); b0.FeatureStep("type"); b0.SelfStep(); b0._Choose(); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("findAppInfoFeature"); b1.Resolver(); b0.Path_(2); b0.Call_(); b0.Name("findAppInfo"); b1.Resolver(); b0._Call(); b0.FeatureStep("name"); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("addAppInfo"); b0.Names_(1); b0.Name("contents"); b0._Names(); b0.Block_(2); b0.If_(); b0.ExpressionTest_(); b0.Path_(1); b0.VariableRefStep("contents"); b0._Path(); b0._ExpressionTest(); b0.PointwiseInsert_(); b0.Placement("INTO"); b0.Path_(2); b0.Choose_(2); b0.PointwiseUpdate_(); b0.Filter_(); b0.FeatureStep("annotation"); b0.KindTest("RESOLVER"); b0._Filter(); b1.StageUpFragment_(); b3.Annotation_(); b1.Resolver(); b1.Resolver(); b1.Resolver(); b3.AnnotationList_(0); b3._AnnotationList(); b3._Annotation(); b1._StageUpFragment(); b0._PointwiseUpdate(); b0.FeatureStep("annotation"); b0._Choose(); b0.FeatureStep("list"); b0._Path(); b1.StageUpFragment_(); b3.Appinfo_(); b1.Resolver(); b1.Resolver(); b1.Resolver(); b3.AnyURI("http://lang.whole.org/Models"); b3.AnnotationContents_(1); b1.SameStageFragment_(); b1.Variable_(); b1.VarType("http://lang.whole.org/Commons#Any"); b1.VarName("contents"); b1.Quantifier("!"); b1._Variable(); b1._SameStageFragment(); b3._AnnotationContents(); b3._Appinfo(); b1._StageUpFragment(); b0._PointwiseInsert(); b0._If(); b0.SelfStep(); b0._Block(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getBuiltInEntityName"); b0.Names_(2); b0.Name("qname"); b0.Name("baseName"); b0._Names(); b0.Block_(3); b0.Filter_(); b0.SelfStep(); b0.VariableTest("qname"); b0._Filter(); b0.Path_(1); b0.Filter_(); b1.SameStageFragment_(); b2.InvokeJavaInstanceMethod_(); b2.Text("get schema builtIn base name"); b1.Resolver(); b2.Variable("self"); b1.Resolver(); b2.StringLiteral("java.lang.String"); b2.StringLiteral("replaceFirst(java.lang.String, java.lang.String)"); b2.Expressions_(2); b2.StringLiteral(".+:"); b2.StringLiteral(""); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b1._SameStageFragment(); b0.VariableTest("baseName"); b0._Filter(); b0._Path(); b0.If_(); b0.ExpressionTest_(); b0.Singleton_(); b1.SameStageFragment_(); b2.InvokeJavaClassMethod_(); b2.Text("is builtIn type?"); b1.Resolver(); b1.Resolver(); b2.StringLiteral("org.whole.lang.xsd.parsers.SchemaDataTypes"); b2.StringLiteral("isBuiltIn(java.lang.String)"); b2.Expressions_(1); b2.Variable("baseName"); b2._Expressions(); b2._InvokeJavaClassMethod(); b1._SameStageFragment(); b0._Singleton(); b0._ExpressionTest(); b1.SameStageFragment_(); b2.InvokeJavaInstanceMethod_(); b2.Text("get all builtIn entity names"); b1.Resolver(); b2.Variable("builtInToEntityNameMap"); b1.Resolver(); b2.StringLiteral("java.util.Map"); b2.StringLiteral("get(java.lang.Object)"); b2.Expressions_(1); b2.Variable("baseName"); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b1._SameStageFragment(); b0._If(); b0._Block(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getType"); b1.Resolver(); b0.Choose_(3); b0.Filter_(); b0.FeatureStep("simpleType"); b0.KindTest("IMPL"); b0._Filter(); b0.Filter_(); b0.FeatureStep("type"); b0.KindTest("IMPL"); b0._Filter(); b0.Filter_(); b0.FeatureStep("base"); b0.KindTest("IMPL"); b0._Filter(); b0._Choose(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getTypeDef"); b1.Resolver(); b0.Choose_(4); b0.Path_(2); b0.Call_(); b0.Name("getType"); b1.Resolver(); b0._Call(); b0.Call_(); b0.Name("getComponent"); b1.Resolver(); b0._Call(); b0._Path(); b0.Filter_(); b0.FeatureStep("simpleTypeDef"); b0.KindTest("IMPL"); b0._Filter(); b0.Filter_(); b0.FeatureStep("typeDef"); b0.KindTest("IMPL"); b0._Filter(); b0.Filter_(); b0.FeatureStep("baseDef"); b0.KindTest("IMPL"); b0._Filter(); b0._Choose(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getModelGroupDef"); b1.Resolver(); b0.Path_(3); b0.Filter_(); b0.SelfStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ModelGroupRef"); b0._Filter(); b0.Filter_(); b0.FeatureStep("ref"); b0.KindTest("IMPL"); b0._Filter(); b0.Call_(); b0.Name("getComponent"); b1.Resolver(); b0._Call(); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("toFeatureName"); b0.Names_(4); b0.Name("freshFeatureNameGen"); b0.Name("featureNameMap"); b0.Name("baseName"); b0.Name("freshName"); b0._Names(); b0.Block_(2); b1.SameStageFragment_(); b2.Sequence_(); b2.Text("sequence"); b2.FlowObjects_(3); b2.InvokeJavaInstanceMethod_(); b2.Text("remove possible prefix from baseName"); b2.Variable("freshName"); b2.Variable("baseName"); b1.Resolver(); b2.StringLiteral("java.lang.String"); b2.StringLiteral("replaceFirst(java.lang.String, java.lang.String)"); b2.Expressions_(2); b2.StringLiteral(".+:"); b2.StringLiteral(""); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b2.InvokeJavaClassMethod_(); b2.Text("calculate feature name"); b2.Variable("freshName"); b1.Resolver(); b2.StringLiteral("org.whole.lang.xsd.util.SchemaHelpers"); b2.StringLiteral("toFreshFeatureName(org.whole.lang.util.FreshNameGenerator, java.lang.String)"); b2.Expressions_(2); b2.Variable("freshFeatureNameGen"); b2.Variable("freshName"); b2._Expressions(); b2._InvokeJavaClassMethod(); b2.InvokeJavaInstanceMethod_(); b2.Text("update feature name map"); b1.Resolver(); b2.Variable("featureNameMap"); b1.Resolver(); b2.StringLiteral("java.util.Map"); b2.StringLiteral("put(java.lang.Object, java.lang.Object)"); b2.Expressions_(2); b2.Variable("baseName"); b2.Variable("freshName"); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b2._FlowObjects(); b2._Sequence(); b1._SameStageFragment(); b0.VariableRefStep("freshName"); b0._Block(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("toMappedType"); b1.Resolver(); b0.Choose_(5); b0.Path_(2); b0.Filter_(); b0.Call_(); b0.Name("getType"); b1.Resolver(); b0._Call(); b0.ExpressionTest_(); b0.Call_(); b0.Name("isSchemaQName"); b1.Resolver(); b0._Call(); b0._ExpressionTest(); b0._Filter(); b0.Call_(); b0.Name("getBuiltInEntityName"); b1.Resolver(); b0._Call(); b0._Path(); b0.Path_(3); b0.Call_(); b0.Name("getTypeDef"); b1.Resolver(); b0._Call(); b0.Call_(); b0.Name("getAppInfo"); b1.Resolver(); b0._Call(); b0.Choose_(2); b0.FeatureStep("name"); b0.SelfStep(); b0._Choose(); b0._Path(); b0.Path_(2); b0.Call_(); b0.Name("getModelGroupDef"); b1.Resolver(); b0._Call(); b0.Call_(); b0.Name("getAppInfo"); b1.Resolver(); b0._Call(); b0._Path(); b0.Path_(2); b0.Filter_(); b0.SelfStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#Any"); b0._Filter(); b0.VariableRefStep("ANY_TYPE_ENTITY_NAME"); b0._Path(); b0.StringLiteral("??? Unknown feature type name"); b0._Choose(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("setEntityNameAnnotation"); b0.Names_(2); b0.Name("freshEntityNameGen"); b0.Name("entityNameMap"); b0._Names(); b0.Block_(4); b0.QueryDeclaration_(); b0.Name("fromName"); b1.Resolver(); b0.Choose_(2); b0.Path_(2); b0.Filter_(); b0.SelfStep(); b0.ExpressionTest_(); b0.Filter_(); b0.FeatureStep("name"); b0.KindTest("IMPL"); b0._Filter(); b0._ExpressionTest(); b0._Filter(); b0.FeatureStep("name"); b0._Path(); b0.Path_(2); b0.ParentStep(); b0.Call_(); b0.Name("fromName"); b1.Resolver(); b0._Call(); b0._Path(); b0._Choose(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("toEntityName"); b0.Names_(2); b0.Name("baseName"); b0.Name("freshName"); b0._Names(); b0.Block_(3); b0.Filter_(); b0.Choose_(5); b0.If_(); b0.ExpressionTest_(); b0.Filter_(); b0.ParentStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ModelGroupDef"); b0._Filter(); b0._ExpressionTest(); b0.VariableRefStep("baseName"); b0._If(); b0.If_(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#Choice"); b0.Addition_(); b0.VariableRefStep("baseName"); b0.StringLiteral("Type"); b0._Addition(); b0._If(); b0.If_(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#Sequence"); b0.Choose_(2); b0.If_(); b0.Not_(); b0.ExpressionTest_(); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#maxOccurs"); b0.ExpressionTest_(); b1.StageUpFragment_(); b3.Bounded(1); b1._StageUpFragment(); b0._ExpressionTest(); b0._Filter(); b0._ExpressionTest(); b0._Not(); b0.Addition_(); b0.VariableRefStep("baseName"); b0.StringLiteral("List"); b0._Addition(); b0._If(); b0.Do_(); b0.Addition_(); b0.VariableRefStep("baseName"); b0.StringLiteral("Seq"); b0._Addition(); b0._Do(); b0._Choose(); b0._If(); b0.If_(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#All"); b0.Addition_(); b0.VariableRefStep("baseName"); b0.StringLiteral("Set"); b0._Addition(); b0._If(); b0.Do_(); b0.VariableRefStep("baseName"); b0._Do(); b0._Choose(); b0.VariableTest("freshName"); b0._Filter(); b1.SameStageFragment_(); b2.Sequence_(); b2.Text("sequence"); b2.FlowObjects_(2); b2.InvokeJavaClassMethod_(); b2.Text("calculate entity name"); b2.Variable("freshName"); b1.Resolver(); b2.StringLiteral("org.whole.lang.xsd.util.SchemaHelpers"); b2.StringLiteral("toFreshEntityName(org.whole.lang.util.FreshNameGenerator, java.lang.String)"); b2.Expressions_(2); b2.Variable("freshEntityNameGen"); b2.Variable("freshName"); b2._Expressions(); b2._InvokeJavaClassMethod(); b2.InvokeJavaInstanceMethod_(); b2.Text("update entity name map"); b1.Resolver(); b2.Variable("entityNameMap"); b1.Resolver(); b2.StringLiteral("java.util.Map"); b2.StringLiteral("put(java.lang.Object, java.lang.Object)"); b2.Expressions_(2); b2.Variable("baseName"); b2.Variable("freshName"); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b2._FlowObjects(); b2._Sequence(); b1._SameStageFragment(); b0.VariableRefStep("freshName"); b0._Block(); b0._QueryDeclaration(); b0.Call_(); b0.Name("addAppInfo"); b0.Expressions_(1); b0.Call_(); b0.Name("toType"); b0.Expressions_(2); b0.Call_(); b0.Name("toEntityName"); b0.Expressions_(1); b0.Call_(); b0.Name("fromName"); b1.Resolver(); b0._Call(); b0._Expressions(); b0._Call(); b0.StringLiteral("http://lang.whole.org/Models#SimpleName"); b0._Expressions(); b0._Call(); b0._Expressions(); b0._Call(); b0.SelfStep(); b0._Block(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("setImportedEntityNameAnnotation"); b0.Names_(3); b0.Name("baseName"); b0.Name("freshEntityNameGen"); b0.Name("importedRefToEntityNameMap"); b0._Names(); b0.Block_(3); b0.QueryDeclaration_(); b0.Name("toImportedEntityName"); b0.Names_(1); b0.Name("freshName"); b0._Names(); b0.Choose_(2); b0.If_(); b0.ExpressionTest_(); b0.Singleton_(); b1.SameStageFragment_(); b2.InvokeJavaInstanceMethod_(); b2.Text("get mapped type"); b1.Resolver(); b2.Variable("importedRefToEntityNameMap"); b1.Resolver(); b2.StringLiteral("java.util.Map"); b2.StringLiteral("containsKey(java.lang.Object)"); b2.Expressions_(1); b2.Variable("baseName"); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b1._SameStageFragment(); b0._Singleton(); b0._ExpressionTest(); b1.SameStageFragment_(); b2.InvokeJavaInstanceMethod_(); b2.Text("get mapped type"); b1.Resolver(); b2.Variable("importedRefToEntityNameMap"); b1.Resolver(); b2.StringLiteral("java.util.Map"); b2.StringLiteral("get(java.lang.Object)"); b2.Expressions_(1); b2.Variable("baseName"); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b1._SameStageFragment(); b0._If(); b0.Do_(); b0.Block_(2); b1.SameStageFragment_(); b2.Sequence_(); b2.Text("sequence"); b2.FlowObjects_(3); b2.InvokeJavaInstanceMethod_(); b2.Text("remove possible prefix from baseName"); b2.Variable("freshName"); b2.Variable("freshName"); b1.Resolver(); b2.StringLiteral("java.lang.String"); b2.StringLiteral("replaceFirst(java.lang.String, java.lang.String)"); b2.Expressions_(2); b2.StringLiteral(".+:"); b2.StringLiteral(""); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b2.InvokeJavaClassMethod_(); b2.Text("calculate entity name"); b2.Variable("freshName"); b1.Resolver(); b2.StringLiteral("org.whole.lang.xsd.util.SchemaHelpers"); b2.StringLiteral("toFreshEntityName(org.whole.lang.util.FreshNameGenerator, java.lang.String)"); b2.Expressions_(2); b2.Variable("freshEntityNameGen"); b2.Variable("freshName"); b2._Expressions(); b2._InvokeJavaClassMethod(); b2.InvokeJavaInstanceMethod_(); b2.Text("update entity name map"); b1.Resolver(); b2.Variable("importedRefToEntityNameMap"); b1.Resolver(); b2.StringLiteral("java.util.Map"); b2.StringLiteral("put(java.lang.Object, java.lang.Object)"); b2.Expressions_(2); b2.Variable("baseName"); b2.Variable("freshName"); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b2._FlowObjects(); b2._Sequence(); b1._SameStageFragment(); b0.VariableRefStep("freshName"); b0._Block(); b0._Do(); b0._Choose(); b0._QueryDeclaration(); b0.Call_(); b0.Name("addAppInfo"); b0.Expressions_(1); b0.Call_(); b0.Name("toType"); b0.Expressions_(2); b0.Call_(); b0.Name("toImportedEntityName"); b0.Expressions_(1); b0.Addition_(); b0.VariableRefStep("baseName"); b0.StringLiteral("Imported"); b0._Addition(); b0._Expressions(); b0._Call(); b0.StringLiteral("http://lang.whole.org/Models#SimpleName"); b0._Expressions(); b0._Call(); b0._Expressions(); b0._Call(); b0.SelfStep(); b0._Block(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("setFeatureAnnotation"); b0.Names_(7); b0.Name("freshFeatureNameGen"); b0.Name("featureNameMap"); b0.Name("baseName"); b0.Name("name"); b0.Name("type"); b0.Name("baseType"); b0.Name("optional"); b0._Names(); b0.Block_(2); b0.Choose_(2); b0.Call_(); b0.Name("updateWithFeatureAnnotation"); b0.Expressions_(2); b0.VariableRefStep("freshFeatureNameGen"); b0.VariableRefStep("featureNameMap"); b0._Expressions(); b0._Call(); b0.Call_(); b0.Name("addAppInfo"); b0.Expressions_(1); b0.Select_(); b1.StageUpFragment_(); org.whole.lang.models.builders.IModelsBuilder b4 = (org.whole.lang.models.builders.IModelsBuilder) op.wGetBuilder(org.whole.lang.models.reflect.ModelsLanguageKit.URI); b4.Feature_(); b4.FeatureModifiers_(1); b1.Variable_(); b1.VarType("http://lang.whole.org/Models#FeatureModifier"); b1.VarName("optional"); b1.Quantifier("?"); b1._Variable(); b4._FeatureModifiers(); b1.Variable_(); b1.VarType("http://lang.whole.org/Models#SimpleName"); b1.VarName("type"); b1.Quantifier("!"); b1._Variable(); b1.Variable_(); b1.VarType("http://lang.whole.org/Models#SimpleName"); b1.VarName("name"); b1.Quantifier("!"); b1._Variable(); b1.Resolver(); b4._Feature(); b1._StageUpFragment(); b0.SelfStep(); b0.Sequence_(3); b0.Filter_(); b0.Call_(); b0.Name("toFeatureName"); b0.Expressions_(3); b0.VariableRefStep("freshFeatureNameGen"); b0.VariableRefStep("featureNameMap"); b0.VariableRefStep("baseName"); b0._Expressions(); b0._Call(); b0.VariableTest("name"); b0._Filter(); b0.Filter_(); b0.Call_(); b0.Name("toMappedType"); b1.Resolver(); b0._Call(); b0.VariableTest("type"); b0._Filter(); b0.If_(); b0.ExpressionTest_(); b0.Choose_(2); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#minOccurs"); b0.ExpressionTest_(); b1.StageUpFragment_(); b3.Bounded(0); b1._StageUpFragment(); b0._ExpressionTest(); b0._Filter(); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#use"); b0.ExpressionTest_(); b1.StageUpFragment_(); b3.Use("optional"); b1._StageUpFragment(); b0._ExpressionTest(); b0._Filter(); b0._Choose(); b0._ExpressionTest(); b0.Filter_(); b1.StageUpFragment_(); b4.FeatureModifier("optional"); b1._StageUpFragment(); b0.VariableTest("optional"); b0._Filter(); b0._If(); b0._Sequence(); b0._Select(); b0._Expressions(); b0._Call(); b0._Choose(); b0.SelfStep(); b0._Block(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("updateWithEntityNameAnnotation"); b1.Resolver(); b0.If_(); b0.Not_(); b0.ExpressionTest_(); b0.Filter_(); b0.Call_(); b0.Name("getAppInfo"); b1.Resolver(); b0._Call(); b0.TypeTest("http://lang.whole.org/Models#SimpleName"); b0._Filter(); b0._ExpressionTest(); b0._Not(); b0.Call_(); b0.Name("addAppInfo"); b0.Expressions_(1); b0.Call_(); b0.Name("toType"); b0.Expressions_(2); b0.Call_(); b0.Name("toMappedType"); b1.Resolver(); b0._Call(); b0.StringLiteral("http://lang.whole.org/Models#SimpleName"); b0._Expressions(); b0._Call(); b0._Expressions(); b0._Call(); b0._If(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("updateWithFeatureAnnotation"); b0.Names_(6); b0.Name("freshFeatureNameGen"); b0.Name("featureNameMap"); b0.Name("baseName"); b0.Name("name"); b0.Name("type"); b0.Name("optional"); b0._Names(); b0.Block_(3); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#name"); b0.VariableTest("baseName"); b0._Filter(); b0.If_(); b0.ExpressionTest_(); b0.Choose_(2); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#minOccurs"); b0.ExpressionTest_(); b1.StageUpFragment_(); b3.Bounded(0); b1._StageUpFragment(); b0._ExpressionTest(); b0._Filter(); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#use"); b0.ExpressionTest_(); b1.StageUpFragment_(); b3.Use("optional"); b1._StageUpFragment(); b0._ExpressionTest(); b0._Filter(); b0._Choose(); b0._ExpressionTest(); b0.Filter_(); b1.StageUpFragment_(); b4.FeatureModifier("optional"); b1._StageUpFragment(); b0.VariableTest("optional"); b0._Filter(); b0._If(); b0.CartesianUpdate_(); b0.Filter_(); b0.Call_(); b0.Name("getAppInfo"); b1.Resolver(); b0._Call(); b0.TypeTest("http://lang.whole.org/Models#SimpleName"); b0._Filter(); b0.Select_(); b1.StageUpFragment_(); b4.Feature_(); b4.FeatureModifiers_(1); b1.Variable_(); b1.VarType("http://lang.whole.org/Models#FeatureModifier"); b1.VarName("modifiers"); b1.Quantifier("*"); b1._Variable(); b4._FeatureModifiers(); b1.Variable_(); b1.VarType("http://lang.whole.org/Models#SimpleName"); b1.VarName("type"); b1.Quantifier("!"); b1._Variable(); b1.Variable_(); b1.VarType("http://lang.whole.org/Models#SimpleName"); b1.VarName("name"); b1.Quantifier("!"); b1._Variable(); b1.Resolver(); b4._Feature(); b1._StageUpFragment(); b0.SelfStep(); b0.Sequence_(3); b0.Filter_(); b0.Call_(); b0.Name("toFeatureName"); b0.Expressions_(3); b0.VariableRefStep("freshFeatureNameGen"); b0.VariableRefStep("featureNameMap"); b0.Choose_(2); b0.VariableRefStep("baseName"); b0.SelfStep(); b0._Choose(); b0._Expressions(); b0._Call(); b0.VariableTest("name"); b0._Filter(); b0.Filter_(); b0.SelfStep(); b0.VariableTest("type"); b0._Filter(); b0.Filter_(); b0.VariableRefStep("optional"); b0.VariableTest("modifiers"); b0._Filter(); b0._Sequence(); b0._Select(); b0._CartesianUpdate(); b0._Block(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("updateWithDeclarationAnnotation"); b0.Names_(4); b0.Name("name"); b0.Name("fnGen"); b0.Name("enumValue"); b0.Name("dataType"); b0._Names(); b0.Block_(3); b0.QueryDeclaration_(); b0.Name("toDataType"); b0.Names_(1); b0.Name("baseName"); b0._Names(); b0.Block_(2); b0.QueryDeclaration_(); b0.Name("getBaseSimpleExtension"); b1.Resolver(); b0.Choose_(2); b0.If_(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#SimpleExtension"); b0.SelfStep(); b0._If(); b0.Path_(5); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#base"); b0.KindTest("IMPL"); b0._Filter(); b0.Call_(); b0.Name("getComponent"); b1.Resolver(); b0._Call(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#content"); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#derivation"); b0.Call_(); b0.Name("getBaseSimpleExtension"); b1.Resolver(); b0._Call(); b0._Path(); b0._Choose(); b0._QueryDeclaration(); b0.Choose_(2); b0.Path_(2); b0.Choose_(2); b0.If_(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#SimpleRestriction"); b0.Path_(1); b0.Call_(); b0.Name("getBaseSimpleExtension"); b1.Resolver(); b0._Call(); b0._Path(); b0._If(); b0.If_(); b0.ExpressionTest_(); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#content"); b0.TypeTest("http://www.w3.org/2001/XMLSchema#SimpleTypeRestriction"); b0._Filter(); b0._ExpressionTest(); b0.Path_(1); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#content"); b0._Path(); b0._If(); b0._Choose(); b0.Choose_(3); b0.Path_(2); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#base"); b0.And_(2); b0.KindTest("IMPL"); b0.ExpressionTest_(); b0.Call_(); b0.Name("isSchemaQName"); b1.Resolver(); b0._Call(); b0._ExpressionTest(); b0._And(); b0._Filter(); b1.SameStageFragment_(); b2.Sequence_(); b2.Text("sequence"); b2.FlowObjects_(2); b1.SameStageFragment_(); b2.InvokeJavaInstanceMethod_(); b2.Text("get schema builtIn base name"); b2.Variable("baseName"); b2.Variable("self"); b1.Resolver(); b2.StringLiteral("java.lang.String"); b2.StringLiteral("replaceFirst(java.lang.String, java.lang.String)"); b2.Expressions_(2); b2.StringLiteral(".+:"); b2.StringLiteral(""); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b1._SameStageFragment(); b2.InvokeJavaClassMethod_(); b2.Text("get data type"); b1.Resolver(); b1.Resolver(); b2.StringLiteral("org.whole.lang.xsd.parsers.SchemaDataTypes"); b2.StringLiteral("getDataType(java.lang.String)"); b2.Expressions_(1); b2.Variable("baseName"); b2._Expressions(); b2._InvokeJavaClassMethod(); b2._FlowObjects(); b2._Sequence(); b1._SameStageFragment(); b0._Path(); b0.Path_(3); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#base"); b0.KindTest("IMPL"); b0._Filter(); b0.Call_(); b0.Name("getComponent"); b1.Resolver(); b0._Call(); b0.Call_(); b0.Name("toDataType"); b1.Resolver(); b0._Call(); b0._Path(); b0.Path_(2); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#baseDef"); b0.Call_(); b0.Name("toDataType"); b1.Resolver(); b0._Call(); b0._Path(); b0._Choose(); b0._Path(); b0.Do_(); b1.StageUpFragment_(); b4.DataType("Unknown"); b1._StageUpFragment(); b0._Do(); b0._Choose(); b0._Block(); b0._QueryDeclaration(); b0.Filter_(); b0.Call_(); b0.Name("getAppInfo"); b1.Resolver(); b0._Call(); b0.And_(2); b0.TypeTest("http://lang.whole.org/Models#SimpleName"); b0.VariableTest("name"); b0._And(); b0._Filter(); b0.PointwiseUpdate_(); b0.VariableRefStep("name"); b0.Choose_(2); b0.Select_(); b1.StageUpFragment_(); b4.EnumEntity_(); b4.EntityModifiers_(0); b4._EntityModifiers(); b1.Variable_(); b1.VarType("http://lang.whole.org/Models#SimpleName"); b1.VarName("name"); b1.Quantifier("!"); b1._Variable(); b4.Types_(0); b4._Types(); b4.EnumValues_(1); b1.Variable_(); b1.VarType("http://lang.whole.org/Models#EnumValue"); b1.VarName("enumValue"); b1.Quantifier("+"); b1._Variable(); b4._EnumValues(); b4._EnumEntity(); b1._StageUpFragment(); b0.Filter_(); b0.SelfStep(); b0.Or_(2); b0.And_(2); b0.TypeTest("http://www.w3.org/2001/XMLSchema#SimpleTypeDef"); b0.ExpressionTest_(); b0.Path_(3); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#content"); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#facets"); b0.Filter_(); b0.ChildStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#Enumeration"); b0._Filter(); b0._Path(); b0._ExpressionTest(); b0._And(); b0.And_(2); b0.TypeTest("http://www.w3.org/2001/XMLSchema#SimpleRestriction"); b0.ExpressionTest_(); b0.Path_(2); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#facets"); b0.Filter_(); b0.ChildStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#Enumeration"); b0._Filter(); b0._Path(); b0._ExpressionTest(); b0._And(); b0._Or(); b0._Filter(); b0.Sequence_(2); b0.Filter_(); b1.SameStageFragment_(); b2.CreateJavaClassInstance_(); b2.Text("create an enum value fresh name generator"); b1.Resolver(); b1.Resolver(); b2.StringLiteral("org.whole.lang.util.FreshNameGenerator"); b2.StringLiteral("FreshNameGenerator()"); b1.Resolver(); b2._CreateJavaClassInstance(); b1._SameStageFragment(); b0.VariableTest("fnGen"); b0._Filter(); b0.Path_(5); b0.Choose_(2); b0.Path_(2); b0.Filter_(); b0.SelfStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#SimpleTypeDef"); b0._Filter(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#content"); b0._Path(); b0.Filter_(); b0.SelfStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#SimpleRestriction"); b0._Filter(); b0._Choose(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#facets"); b0.Filter_(); b0.ChildStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#Enumeration"); b0._Filter(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#value"); b0.Filter_(); b1.SameStageFragment_(); b2.InvokeJavaClassMethod_(); b2.Text("create a fresh enum value"); b1.Resolver(); b1.Resolver(); b2.StringLiteral("org.whole.lang.xsd.util.SchemaHelpers"); b2.StringLiteral("toFreshEnumLiteralName(org.whole.lang.util.FreshNameGenerator, java.lang.String)"); b2.Expressions_(2); b2.Variable("fnGen"); b2.Variable("self"); b2._Expressions(); b2._InvokeJavaClassMethod(); b1._SameStageFragment(); b0.VariableTest("enumValue"); b0._Filter(); b0._Path(); b0._Sequence(); b0._Select(); b0.Select_(); b1.StageUpFragment_(); b4.DataEntity_(); b4.EntityModifiers_(0); b4._EntityModifiers(); b1.Variable_(); b1.VarType("http://lang.whole.org/Models#SimpleName"); b1.VarName("name"); b1.Quantifier("!"); b1._Variable(); b4.Types_(0); b4._Types(); b1.Variable_(); b1.VarType("http://lang.whole.org/Models#DataType"); b1.VarName("dataType"); b1.Quantifier("!"); b1._Variable(); b4._DataEntity(); b1._StageUpFragment(); b0.SelfStep(); b0.Filter_(); b0.Call_(); b0.Name("toDataType"); b1.Resolver(); b0._Call(); b0.VariableTest("dataType"); b0._Filter(); b0._Select(); b0._Choose(); b0._PointwiseUpdate(); b0._Block(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getParticlesContainer"); b1.Resolver(); b0.Choose_(2); b0.Path_(2); b0.FeatureStep("content"); b0.Choose_(2); b0.Path_(3); b0.Filter_(); b0.SelfStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ComplexContent"); b0._Filter(); b0.FeatureStep("derivation"); b0.FeatureStep("content"); b0._Path(); b0.Filter_(); b0.SelfStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#DeclaredContent"); b0._Filter(); b0._Choose(); b0._Path(); b0.Filter_(); b0.SelfStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ModelGroupDef"); b0._Filter(); b0._Choose(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getDescendantParticles"); b1.Resolver(); b0.Path_(1); b0.Sequence_(2); b0.SelfStep(); b0.If_(); b0.SubtypeTest("http://www.w3.org/2001/XMLSchema#ModelGroupWithParticles"); b0.Path_(3); b0.FeatureStep("particles"); b0.ChildStep(); b0.Call_(); b0.Name("getDescendantParticles"); b1.Resolver(); b0._Call(); b0._Path(); b0._If(); b0._Sequence(); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getParticles"); b1.Resolver(); b0.Path_(3); b0.Call_(); b0.Name("getParticlesContainer"); b1.Resolver(); b0._Call(); b0.FeatureStep("modelGroup"); b0.Call_(); b0.Name("getDescendantParticles"); b1.Resolver(); b0._Call(); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getLocalParticles"); b1.Resolver(); b0.Path_(2); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#particles"); b0.Filter_(); b0.ChildStep(); b0.Not_(); b0.SubtypeTest("http://www.w3.org/2001/XMLSchema#Reference"); b0._Not(); b0._Filter(); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getReferencedParticles"); b1.Resolver(); b0.Path_(2); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#particles"); b0.Filter_(); b0.ChildStep(); b0.SubtypeTest("http://www.w3.org/2001/XMLSchema#Reference"); b0._Filter(); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getModelGroupWithParticles"); b1.Resolver(); b0.Filter_(); b0.Call_(); b0.Name("getParticles"); b1.Resolver(); b0._Call(); b0.And_(2); b0.SubtypeTest("http://www.w3.org/2001/XMLSchema#ModelGroupWithParticles"); b0.KindTest("IMPL"); b0._And(); b0._Filter(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getAttributesContainer"); b1.Resolver(); b0.Path_(2); b0.FeatureStep("content"); b0.Choose_(3); b0.Path_(3); b0.Filter_(); b0.SelfStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ComplexContent"); b0._Filter(); b0.FeatureStep("derivation"); b0.FeatureStep("content"); b0._Path(); b0.Path_(2); b0.Filter_(); b0.SelfStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#SimpleContent"); b0._Filter(); b0.FeatureStep("derivation"); b0._Path(); b0.Filter_(); b0.SelfStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#DeclaredContent"); b0._Filter(); b0._Choose(); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getAttributesGroupChildren"); b1.Resolver(); b0.Path_(5); b0.FeatureStep("ref"); b0.Call_(); b0.Name("getComponent"); b1.Resolver(); b0._Call(); b0.FeatureStep("attributeUses"); b0.ChildStep(); b0.Choose_(2); b0.Path_(2); b0.Filter_(); b0.SelfStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#AttributeGroupRef"); b0._Filter(); b0.Call_(); b0.Name("getAttributesGroupChildren"); b1.Resolver(); b0._Call(); b0._Path(); b0.Filter_(); b0.SelfStep(); b0.Not_(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#AttributeGroupRef"); b0._Not(); b0._Filter(); b0._Choose(); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getLocalAttributes"); b1.Resolver(); b0.Path_(3); b0.Call_(); b0.Name("getAttributesContainer"); b1.Resolver(); b0._Call(); b0.FeatureStep("attributeUses"); b0.Filter_(); b0.ChildStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#AttributeUseDecl"); b0._Filter(); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getReferencedAttributes"); b1.Resolver(); b0.Path_(4); b0.Call_(); b0.Name("getAttributesContainer"); b1.Resolver(); b0._Call(); b0.FeatureStep("attributeUses"); b0.Filter_(); b0.ChildStep(); b0.Not_(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#AttributeUseDecl"); b0._Not(); b0._Filter(); b0.Choose_(2); b0.Filter_(); b0.SelfStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#AttributeUseRef"); b0._Filter(); b0.Call_(); b0.Name("getAttributesGroupChildren"); b1.Resolver(); b0._Call(); b0._Choose(); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getDeclaredAttributes"); b1.Resolver(); b0.Sequence_(2); b0.Call_(); b0.Name("getReferencedAttributes"); b1.Resolver(); b0._Call(); b0.Call_(); b0.Name("getLocalAttributes"); b1.Resolver(); b0._Call(); b0._Sequence(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getInheritedAttributes"); b0.Names_(1); b0.Name("excluded"); b0._Names(); b0.Path_(3); b0.Call_(); b0.Name("getComplexBaseType"); b1.Resolver(); b0._Call(); b0.Call_(); b0.Name("getComponent"); b1.Resolver(); b0._Call(); b0.Call_(); b0.Name("getAttributes"); b0.Expressions_(1); b0.VariableRefStep("excluded"); b0._Expressions(); b0._Call(); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getAttributes"); b0.Names_(2); b0.Name("excluded"); b0.Name("declared"); b0._Names(); b0.Block_(3); b0.Filter_(); b0.Union_(); b0.Expressions_(0); b0._Expressions(); b1.Resolver(); b0._Union(); b0.VariableTest("excluded"); b0._Filter(); b0.Filter_(); b0.Except_(); b0.Expressions_(2); b0.Call_(); b0.Name("getDeclaredAttributes"); b1.Resolver(); b0._Call(); b0.Path_(2); b0.VariableRefStep("excluded"); b0.ChildStep(); b0._Path(); b0._Expressions(); b0.IdentityComparator_(); b0.FeatureStep("name"); b0._IdentityComparator(); b0._Except(); b0.VariableTest("declared"); b0._Filter(); b0.Sequence_(2); b0.CartesianInsert_(); b0.Placement("INTO"); b0.VariableRefStep("excluded"); b0.Path_(2); b0.VariableRefStep("declared"); b0.ChildStep(); b0._Path(); b0._CartesianInsert(); b0.Call_(); b0.Name("getInheritedAttributes"); b0.Expressions_(1); b0.VariableRefStep("excluded"); b0._Expressions(); b0._Call(); b0._Sequence(); b0._Block(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getAttributesGroupWildcards"); b1.Resolver(); b0.Path_(3); b0.FeatureStep("ref"); b0.Call_(); b0.Name("getComponent"); b1.Resolver(); b0._Call(); b0.Sequence_(2); b0.Filter_(); b0.FeatureStep("anyAttribute"); b0.KindTest("IMPL"); b0._Filter(); b0.Path_(3); b0.FeatureStep("attributeUses"); b0.Filter_(); b0.ChildStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#AttributeGroupRef"); b0._Filter(); b0.Call_(); b0.Name("getAttributesGroupWildcards"); b1.Resolver(); b0._Call(); b0._Path(); b0._Sequence(); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getLocalWildcardAttribute"); b1.Resolver(); b0.Path_(2); b0.Call_(); b0.Name("getAttributesContainer"); b1.Resolver(); b0._Call(); b0.Filter_(); b0.FeatureStep("anyAttribute"); b0.KindTest("IMPL"); b0._Filter(); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getDeclaredWildcardAttribute"); b1.Resolver(); b0.Path_(2); b0.Call_(); b0.Name("getAttributesContainer"); b1.Resolver(); b0._Call(); b0.Sequence_(2); b0.Filter_(); b0.FeatureStep("anyAttribute"); b0.KindTest("IMPL"); b0._Filter(); b0.Path_(3); b0.FeatureStep("attributeUses"); b0.Filter_(); b0.ChildStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#AttributeGroupRef"); b0._Filter(); b0.Call_(); b0.Name("getAttributesGroupWildcards"); b1.Resolver(); b0._Call(); b0._Path(); b0._Sequence(); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getInheritedWildcardAttribute"); b1.Resolver(); b0.Path_(3); b0.Call_(); b0.Name("getComplexBaseType"); b1.Resolver(); b0._Call(); b0.Call_(); b0.Name("getComponent"); b1.Resolver(); b0._Call(); b0.Call_(); b0.Name("getWildcardAttribute"); b1.Resolver(); b0._Call(); b0._Path(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("getWildcardAttribute"); b1.Resolver(); b0.Block_(2); b1.StageUpFragment_(); org.whole.lang.text.builders.ITextBuilder b5 = (org.whole.lang.text.builders.ITextBuilder) op.wGetBuilder(org.whole.lang.text.reflect.TextLanguageKit.URI); b5.Document_(2); b5.Row_(1); b5.Text("1. Implement wildcard namespaceSpecs intersection/union algorithms"); b5._Row(); b5.Row_(1); b5.Text("(currently the first anyAttribute in hierarchy is returned)"); b5._Row(); b5._Document(); b1._StageUpFragment(); b0.Filter_(); b0.Sequence_(2); b0.Call_(); b0.Name("getDeclaredWildcardAttribute"); b1.Resolver(); b0._Call(); b0.Call_(); b0.Name("getInheritedWildcardAttribute"); b1.Resolver(); b0._Call(); b0._Sequence(); b0.IndexTest_(); b0.IntLiteral(0); b0._IndexTest(); b0._Filter(); b0._Block(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("hasAttributes"); b1.Resolver(); b0.Filter_(); b0.Sequence_(2); b0.Call_(); b0.Name("getAttributes"); b1.Resolver(); b0._Call(); b0.Call_(); b0.Name("getWildcardAttribute"); b1.Resolver(); b0._Call(); b0._Sequence(); b0.IndexTest_(); b0.IntLiteral(0); b0._IndexTest(); b0._Filter(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("hasRestriction"); b1.Resolver(); b0.Choose_(2); b0.Path_(2); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#content"); b0.TypeTest("http://www.w3.org/2001/XMLSchema#SimpleContent"); b0._Filter(); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#derivation"); b0.TypeTest("http://www.w3.org/2001/XMLSchema#SimpleRestriction"); b0._Filter(); b0._Path(); b0.Path_(2); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#content"); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ComplexContent"); b0._Filter(); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#derivation"); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ComplexRestriction"); b0._Filter(); b0._Path(); b0._Choose(); b0._QueryDeclaration(); b0.QueryDeclaration_(); b0.Name("hasRestrictionWithFacets"); b1.Resolver(); b0.Path_(2); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#content"); b0.TypeTest("http://www.w3.org/2001/XMLSchema#SimpleContent"); b0._Filter(); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#derivation"); b0.And_(2); b0.TypeTest("http://www.w3.org/2001/XMLSchema#SimpleRestriction"); b0.ExpressionTest_(); b0.Path_(2); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#facets"); b0.ChildStep(); b0._Path(); b0._ExpressionTest(); b0._And(); b0._Filter(); b0._Path(); b0._QueryDeclaration(); b1.SameStageFragment_(); b2.Sequence_(); b2.Text("normalize schema and create a new fresh name generators"); b2.FlowObjects_(13); b2.InvokeOperation_(); b2.Text("normalize schema"); b2.Variable("self"); b2.Operation("NORMALIZER"); b1.Resolver(); b2._InvokeOperation(); b2.InvokeJavaClassMethod_(); b2.Text("get builtIn to entity name map"); b2.Variable("builtInToEntityNameMap"); b1.Resolver(); b2.StringLiteral("org.whole.lang.xsd.parsers.SchemaDataTypes"); b2.StringLiteral("getBuiltInToEntityNameMap()"); b1.Resolver(); b2._InvokeJavaClassMethod(); b2.InvokeJavaClassMethod_(); b2.Text("get builtIn to entity name map"); b2.Variable("reservedEntityNames"); b1.Resolver(); b2.StringLiteral("org.whole.lang.xsd.util.SchemaHelpers"); b2.StringLiteral("getReservedEntityNames()"); b1.Resolver(); b2._InvokeJavaClassMethod(); b2.CreateJavaClassInstance_(); b2.Text("create a fresh entity name generator"); b2.Variable("freshEntityNameGen"); b1.Resolver(); b2.StringLiteral("org.whole.lang.util.FreshNameGenerator"); b2.StringLiteral("FreshNameGenerator(java.util.Collection)"); b2.Expressions_(1); b2.Variable("reservedEntityNames"); b2._Expressions(); b2._CreateJavaClassInstance(); b2.CreateJavaClassInstance_(); b2.Text("create an imported type to entity name map"); b2.Variable("importedTypeToEntityNameMap"); b1.Resolver(); b2.StringLiteral("java.util.HashMap"); b2.StringLiteral("HashMap()"); b1.Resolver(); b2._CreateJavaClassInstance(); b2.CreateJavaClassInstance_(); b2.Text("create an imported attribute to entity name map"); b2.Variable("importedAttributeToEntityNameMap"); b1.Resolver(); b2.StringLiteral("java.util.HashMap"); b2.StringLiteral("HashMap()"); b1.Resolver(); b2._CreateJavaClassInstance(); b2.CreateJavaClassInstance_(); b2.Text("create an imported element to entity name map"); b2.Variable("importedElementToEntityNameMap"); b1.Resolver(); b2.StringLiteral("java.util.HashMap"); b2.StringLiteral("HashMap()"); b1.Resolver(); b2._CreateJavaClassInstance(); b2.CreateJavaClassInstance_(); b2.Text("create an imported group to entity name map"); b2.Variable("importedGroupToEntityNameMap"); b1.Resolver(); b2.StringLiteral("java.util.HashMap"); b2.StringLiteral("HashMap()"); b1.Resolver(); b2._CreateJavaClassInstance(); b2.CreateJavaClassInstance_(); b2.Text("create a typeDef to entity name map"); b2.Variable("typeDefToEntityNameMap"); b1.Resolver(); b2.StringLiteral("java.util.HashMap"); b2.StringLiteral("HashMap()"); b1.Resolver(); b2._CreateJavaClassInstance(); b2.CreateJavaClassInstance_(); b2.Text("create a fresh feature name generator"); b2.Variable("freshFeatureNameGen"); b1.Resolver(); b2.StringLiteral("org.whole.lang.util.FreshNameGenerator"); b2.StringLiteral("FreshNameGenerator()"); b1.Resolver(); b2._CreateJavaClassInstance(); b2.CreateJavaClassInstance_(); b2.Text("create an attribute to feature name map"); b2.Variable("attributeToFeatureNameMap"); b1.Resolver(); b2.StringLiteral("java.util.HashMap"); b2.StringLiteral("HashMap()"); b1.Resolver(); b2._CreateJavaClassInstance(); b2.CreateJavaClassInstance_(); b2.Text("create an element to feature name map"); b2.Variable("elementToFeatureNameMap"); b1.Resolver(); b2.StringLiteral("java.util.HashMap"); b2.StringLiteral("HashMap()"); b1.Resolver(); b2._CreateJavaClassInstance(); b2.CreateJavaClassInstance_(); b2.Text("create model group to feature name map"); b2.Variable("modelGroupToFeatureNameMap"); b1.Resolver(); b2.StringLiteral("java.util.HashMap"); b2.StringLiteral("HashMap()"); b1.Resolver(); b2._CreateJavaClassInstance(); b2._FlowObjects(); b2._Sequence(); b1._SameStageFragment(); b0.Path_(2); b0.Filter_(); b0.DescendantStep(); b0.And_(2); b0.TypeTest("http://www.w3.org/2001/XMLSchema#QName"); b0.KindTest("IMPL"); b0._And(); b0._Filter(); b0.Call_(); b0.Name("resolveNamespace"); b1.Resolver(); b0._Call(); b0._Path(); b0.Path_(3); b0.FeatureStep("components"); b0.Sequence_(3); b0.Filter_(); b0.ChildStep(); b0.And_(2); b0.SubtypeTest("http://www.w3.org/2001/XMLSchema#TypeDef"); b0.KindTest("IMPL"); b0._And(); b0._Filter(); b0.Path_(2); b0.ChildStep(); b0.Filter_(); b0.DescendantStep(); b0.Or_(2); b0.And_(2); b0.SubtypeTest("http://www.w3.org/2001/XMLSchema#TypeDef"); b0.KindTest("IMPL"); b0._And(); b0.And_(2); b0.TypeTest("http://www.w3.org/2001/XMLSchema#SimpleRestriction"); b0.ExpressionTest_(); b0.Path_(2); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#facets"); b0.ChildStep(); b0._Path(); b0._ExpressionTest(); b0._And(); b0._Or(); b0._Filter(); b0._Path(); b0.Path_(2); b0.Sequence_(2); b0.Filter_(); b0.ChildStep(); b0.And_(2); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ModelGroupDef"); b0.KindTest("IMPL"); b0._And(); b0._Filter(); b0.Filter_(); b0.DescendantStep(); b0.And_(2); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ComplexTypeDef"); b0.KindTest("IMPL"); b0._And(); b0._Filter(); b0._Sequence(); b0.Call_(); b0.Name("getModelGroupWithParticles"); b1.Resolver(); b0._Call(); b0._Path(); b0._Sequence(); b0.Call_(); b0.Name("setEntityNameAnnotation"); b0.Expressions_(2); b0.VariableRefStep("freshEntityNameGen"); b0.VariableRefStep("typeDefToEntityNameMap"); b0._Expressions(); b0._Call(); b0._Path(); b0.Path_(3); b0.FeatureStep("components"); b0.Filter_(); b0.DescendantStep(); b0.And_(2); b0.TypeTest("http://www.w3.org/2001/XMLSchema#SimpleTypeDef"); b0.KindTest("IMPL"); b0._And(); b0._Filter(); b0.Call_(); b0.Name("updateWithDeclarationAnnotation"); b1.Resolver(); b0._Call(); b0._Path(); b0.Path_(3); b0.FeatureStep("components"); b0.DescendantStep(); b0.Choose_(3); b0.If_(); b0.And_(3); b0.SubtypeTest("http://www.w3.org/2001/XMLSchema#Reference"); b0.Not_(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#AttributeGroupRef"); b0._Not(); b0.ExpressionTest_(); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#ref"); b0.Not_(); b0.ExpressionTest_(); b0.Call_(); b0.Name("isLocalQName"); b1.Resolver(); b0._Call(); b0._ExpressionTest(); b0._Not(); b0._Filter(); b0._ExpressionTest(); b0._And(); b0.Call_(); b0.Name("setImportedEntityNameAnnotation"); b0.Expressions_(3); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#ref"); b0.VariableRefStep("freshEntityNameGen"); b0.Choose_(3); b0.If_(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#AttributeUseRef"); b0.VariableRefStep("importedAttributeToEntityNameMap"); b0._If(); b0.If_(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ElementRef"); b0.VariableRefStep("importedElementToEntityNameMap"); b0._If(); b0.If_(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ModelGroupRef"); b0.VariableRefStep("importedGroupToEntityNameMap"); b0._If(); b0._Choose(); b0._Expressions(); b0._Call(); b0._If(); b0.If_(); b0.And_(2); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ElementDecl"); b0.ExpressionTest_(); b0.Filter_(); b0.FeatureStep("type"); b0.And_(2); b0.KindTest("IMPL"); b0.ExpressionTest_(); b0.Call_(); b0.Name("isImportedQName"); b1.Resolver(); b0._Call(); b0._ExpressionTest(); b0._And(); b0._Filter(); b0._ExpressionTest(); b0._And(); b0.Call_(); b0.Name("setImportedEntityNameAnnotation"); b0.Expressions_(3); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#type"); b0.VariableRefStep("freshEntityNameGen"); b0.VariableRefStep("importedTypeToEntityNameMap"); b0._Expressions(); b0._Call(); b0._If(); b0.If_(); b0.And_(2); b0.SubtypeTest("http://www.w3.org/2001/XMLSchema#AttributeDecl"); b0.ExpressionTest_(); b0.Filter_(); b0.FeatureStep("simpleType"); b0.And_(2); b0.KindTest("IMPL"); b0.ExpressionTest_(); b0.Call_(); b0.Name("isImportedQName"); b1.Resolver(); b0._Call(); b0._ExpressionTest(); b0._And(); b0._Filter(); b0._ExpressionTest(); b0._And(); b0.Call_(); b0.Name("setImportedEntityNameAnnotation"); b0.Expressions_(3); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#simpleType"); b0.VariableRefStep("freshEntityNameGen"); b0.VariableRefStep("importedTypeToEntityNameMap"); b0._Expressions(); b0._Call(); b0._If(); b0._Choose(); b0._Path(); b0.Path_(3); b0.FeatureStep("components"); b0.Sequence_(2); b0.Filter_(); b0.ChildStep(); b0.And_(2); b0.Or_(2); b0.TypeTest("http://www.w3.org/2001/XMLSchema#AttributeDecl"); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ElementDecl"); b0._Or(); b0.KindTest("IMPL"); b0._And(); b0._Filter(); b0.Path_(3); b0.Filter_(); b0.ChildStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#AttributeGroupDef"); b0._Filter(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#attributeUses"); b0.Filter_(); b0.ChildStep(); b0.Not_(); b0.SubtypeTest("http://www.w3.org/2001/XMLSchema#Reference"); b0._Not(); b0._Filter(); b0._Path(); b0._Sequence(); b0.Call_(); b0.Name("setFeatureAnnotation"); b0.Expressions_(3); b0.VariableRefStep("freshFeatureNameGen"); b0.Choose_(2); b0.If_(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ElementDecl"); b0.VariableRefStep("elementToFeatureNameMap"); b0._If(); b0.Do_(); b0.VariableRefStep("attributeToFeatureNameMap"); b0._Do(); b0._Choose(); b0.Choose_(2); b0.FeatureStep("name"); b0.FeatureStep("ref"); b0._Choose(); b0._Expressions(); b0._Call(); b0._Path(); b0.Path_(2); b0.FeatureStep("components"); b0.Sequence_(1); b0.Path_(3); b0.Sequence_(2); b0.Filter_(); b0.ChildStep(); b0.And_(2); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ModelGroupDef"); b0.KindTest("IMPL"); b0._And(); b0._Filter(); b0.Filter_(); b0.DescendantStep(); b0.And_(2); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ComplexTypeDef"); b0.KindTest("IMPL"); b0._And(); b0._Filter(); b0._Sequence(); b0.Call_(); b0.Name("getModelGroupWithParticles"); b1.Resolver(); b0._Call(); b0.Sequence_(6); b0.Filter_(); b1.SameStageFragment_(); b2.CreateJavaClassInstance_(); b2.Text("create a local fresh feature name generator"); b1.Resolver(); b1.Resolver(); b2.StringLiteral("org.whole.lang.util.FreshNameGenerator"); b2.StringLiteral("FreshNameGenerator()"); b1.Resolver(); b2._CreateJavaClassInstance(); b1._SameStageFragment(); b0.VariableTest("localFreshFeatureNameGen"); b0._Filter(); b0.Filter_(); b1.SameStageFragment_(); b2.CreateJavaClassInstance_(); b2.Text("create a local element to feature name map"); b1.Resolver(); b1.Resolver(); b2.StringLiteral("java.util.HashMap"); b2.StringLiteral("HashMap()"); b1.Resolver(); b2._CreateJavaClassInstance(); b1._SameStageFragment(); b0.VariableTest("localElementToFeatureNameMap"); b0._Filter(); b0.Path_(2); b0.Call_(); b0.Name("getReferencedParticles"); b1.Resolver(); b0._Call(); b0.Choose_(2); b0.Path_(4); b0.FeatureStep("ref"); b0.Call_(); b0.Name("getComponent"); b1.Resolver(); b0._Call(); b0.Call_(); b0.Name("getAppInfo"); b1.Resolver(); b0._Call(); b1.SameStageFragment_(); b2.InvokeJavaInstanceMethod_(); b2.Text("bind feature name to local fresh name generator"); b1.Resolver(); b2.Variable("localFreshFeatureNameGen"); b1.Resolver(); b2.StringLiteral("org.whole.lang.util.FreshNameGenerator"); b2.StringLiteral("addBoundName(java.lang.String)"); b2.Expressions_(1); b1.SameStageFragment_(); b0.FeatureStep("name"); b1._SameStageFragment(); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b1._SameStageFragment(); b0._Path(); b0.Call_(); b0.Name("updateWithFeatureAnnotation"); b0.Expressions_(2); b0.VariableRefStep("localFreshFeatureNameGen"); b0.VariableRefStep("localElementToFeatureNameMap"); b0._Expressions(); b0._Call(); b0._Choose(); b0._Path(); b0.Choose_(2); b0.If_(); b0.Or_(2); b0.TypeTest("http://www.w3.org/2001/XMLSchema#Choice"); b0.And_(2); b0.Not_(); b0.ExpressionTest_(); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#maxOccurs"); b0.ExpressionTest_(); b1.StageUpFragment_(); b3.Bounded(1); b1._StageUpFragment(); b0._ExpressionTest(); b0._Filter(); b0._ExpressionTest(); b0._Not(); b0.Not_(); b0.ExpressionTest_(); b0.Filter_(); b0.ParentStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ModelGroupDef"); b0._Filter(); b0._ExpressionTest(); b0._Not(); b0._And(); b0._Or(); b0.Path_(2); b0.Call_(); b0.Name("getLocalParticles"); b1.Resolver(); b0._Call(); b0.Call_(); b0.Name("updateWithEntityNameAnnotation"); b1.Resolver(); b0._Call(); b0._Path(); b0._If(); b0.Do_(); b0.Path_(2); b0.Call_(); b0.Name("getLocalParticles"); b1.Resolver(); b0._Call(); b0.Call_(); b0.Name("setFeatureAnnotation"); b0.Expressions_(3); b0.VariableRefStep("localFreshFeatureNameGen"); b0.VariableRefStep("localElementToFeatureNameMap"); b0.Choose_(3); b0.FeatureStep("name"); b0.FeatureStep("ref"); b0.StringLiteral("any"); b0._Choose(); b0._Expressions(); b0._Call(); b0._Path(); b0._Do(); b0._Choose(); b0.If_(); b0.Or_(2); b0.ExpressionTest_(); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#maxOccurs"); b0.ExpressionTest_(); b1.StageUpFragment_(); b3.Bounded(1); b1._StageUpFragment(); b0._ExpressionTest(); b0._Filter(); b0._ExpressionTest(); b0.ExpressionTest_(); b0.Filter_(); b0.ParentStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ModelGroupDef"); b0._Filter(); b0._ExpressionTest(); b0._Or(); b0.Path_(2); b0.Filter_(); b0.Call_(); b0.Name("getReferencedParticles"); b1.Resolver(); b0._Call(); b0.ExpressionTest_(); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#ref"); b0.Not_(); b0.ExpressionTest_(); b0.Call_(); b0.Name("isLocalQName"); b1.Resolver(); b0._Call(); b0._ExpressionTest(); b0._Not(); b0._Filter(); b0._ExpressionTest(); b0._Filter(); b0.Call_(); b0.Name("updateWithFeatureAnnotation"); b0.Expressions_(2); b0.VariableRefStep("localFreshFeatureNameGen"); b0.VariableRefStep("localElementToFeatureNameMap"); b0._Expressions(); b0._Call(); b0._Path(); b0._If(); b0.If_(); b0.Not_(); b0.ExpressionTest_(); b0.Filter_(); b0.ParentStep(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#Particles"); b0._Filter(); b0._ExpressionTest(); b0._Not(); b0.Call_(); b0.Name("updateWithFeatureAnnotation"); b0.Expressions_(2); b1.SameStageFragment_(); b2.CreateJavaClassInstance_(); b2.Text("create a local fresh feature name generator"); b1.Resolver(); b1.Resolver(); b2.StringLiteral("org.whole.lang.util.FreshNameGenerator"); b2.StringLiteral("FreshNameGenerator()"); b1.Resolver(); b2._CreateJavaClassInstance(); b1._SameStageFragment(); b1.SameStageFragment_(); b2.CreateJavaClassInstance_(); b2.Text("create a local element to feature name map"); b1.Resolver(); b1.Resolver(); b2.StringLiteral("java.util.HashMap"); b2.StringLiteral("HashMap()"); b1.Resolver(); b2._CreateJavaClassInstance(); b1._SameStageFragment(); b0._Expressions(); b0._Call(); b0._If(); b0._Sequence(); b0._Path(); b0._Sequence(); b0._Path(); b0.Path_(3); b0.FeatureStep("components"); b0.Sequence_(2); b0.Filter_(); b0.DescendantStep(); b0.And_(2); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ComplexTypeDef"); b0.Not_(); b0.ExpressionTest_(); b0.Call_(); b0.Name("hasRestriction"); b1.Resolver(); b0._Call(); b0._ExpressionTest(); b0._Not(); b0._And(); b0._Filter(); b0.Filter_(); b0.DescendantStep(); b0.And_(2); b0.TypeTest("http://www.w3.org/2001/XMLSchema#ComplexTypeDef"); b0.ExpressionTest_(); b0.Call_(); b0.Name("hasRestrictionWithFacets"); b1.Resolver(); b0._Call(); b0._ExpressionTest(); b0._And(); b0._Filter(); b0._Sequence(); b0.Sequence_(6); b0.Filter_(); b1.SameStageFragment_(); b2.CreateJavaClassInstance_(); b2.Text("create a local fresh feature name generator"); b1.Resolver(); b1.Resolver(); b2.StringLiteral("org.whole.lang.util.FreshNameGenerator"); b2.StringLiteral("FreshNameGenerator()"); b1.Resolver(); b2._CreateJavaClassInstance(); b1._SameStageFragment(); b0.VariableTest("localFreshFeatureNameGen"); b0._Filter(); b0.Filter_(); b1.SameStageFragment_(); b2.CreateJavaClassInstance_(); b2.Text("create a local attribute to feature name map"); b1.Resolver(); b1.Resolver(); b2.StringLiteral("java.util.HashMap"); b2.StringLiteral("HashMap()"); b1.Resolver(); b2._CreateJavaClassInstance(); b1._SameStageFragment(); b0.VariableTest("localAttributeToFeatureNameMap"); b0._Filter(); b0.Choose_(2); b0.Path_(3); b0.Filter_(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#content"); b0.TypeTest("http://www.w3.org/2001/XMLSchema#SimpleContent"); b0._Filter(); b0.FeatureStep("http://www.w3.org/2001/XMLSchema#derivation"); b0.Choose_(2); b0.If_(); b0.TypeTest("http://www.w3.org/2001/XMLSchema#SimpleRestriction"); b0.Call_(); b0.Name("updateWithDeclarationAnnotation"); b1.Resolver(); b0._Call(); b0._If(); b0.Do_(); b0.Call_(); b0.Name("setFeatureAnnotation"); b0.Expressions_(3); b0.VariableRefStep("localFreshFeatureNameGen"); b0.VariableRefStep("localAttributeToFeatureNameMap"); b0.StringLiteral("content"); b0._Expressions(); b0._Call(); b0._Do(); b0._Choose(); b0._Path(); b0.Path_(3); b0.Call_(); b0.Name("getParticlesContainer"); b1.Resolver(); b0._Call(); b0.Call_(); b0.Name("findAppInfoFeature"); b1.Resolver(); b0._Call(); b1.SameStageFragment_(); b2.InvokeJavaInstanceMethod_(); b2.Text("bind feature name to local fresh name generator"); b1.Resolver(); b2.Variable("localFreshFeatureNameGen"); b1.Resolver(); b2.StringLiteral("org.whole.lang.util.FreshNameGenerator"); b2.StringLiteral("addBoundName(java.lang.String)"); b2.Expressions_(1); b2.Variable("self"); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b1._SameStageFragment(); b0._Path(); b0._Choose(); b0.Path_(3); b0.Call_(); b0.Name("getReferencedAttributes"); b1.Resolver(); b0._Call(); b0.Filter_(); b0.FeatureStep("ref"); b0.ExpressionTest_(); b0.Call_(); b0.Name("isLocalQName"); b1.Resolver(); b0._Call(); b0._ExpressionTest(); b0._Filter(); b1.SameStageFragment_(); b2.Sequence_(); b2.Text("bind all referenced attribute names"); b2.FlowObjects_(3); b2.InvokeJavaInstanceMethod_(); b2.Text("get base name from reference"); b2.Variable("attributeName"); b2.Variable("self"); b1.Resolver(); b2.StringLiteral("java.lang.String"); b2.StringLiteral("replaceFirst(java.lang.String, java.lang.String)"); b2.Expressions_(2); b2.StringLiteral(".+:"); b2.StringLiteral(""); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b2.InvokeJavaInstanceMethod_(); b2.Text("get mapped feature name"); b2.Variable("boundName"); b2.Variable("attributeToFeatureNameMap"); b1.Resolver(); b2.StringLiteral("java.util.Map"); b2.StringLiteral("get(java.lang.Object)"); b2.Expressions_(1); b2.Variable("attributeName"); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b2.InvokeJavaInstanceMethod_(); b2.Text("bind feature name to local fresh name generator"); b1.Resolver(); b2.Variable("localFreshFeatureNameGen"); b1.Resolver(); b2.StringLiteral("org.whole.lang.util.FreshNameGenerator"); b2.StringLiteral("addBoundName(java.lang.String)"); b2.Expressions_(1); b2.Variable("boundName"); b2._Expressions(); b2._InvokeJavaInstanceMethod(); b2._FlowObjects(); b2._Sequence(); b1._SameStageFragment(); b0._Path(); b0.Path_(2); b0.Call_(); b0.Name("getLocalAttributes"); b1.Resolver(); b0._Call(); b0.Call_(); b0.Name("setFeatureAnnotation"); b0.Expressions_(3); b0.VariableRefStep("localFreshFeatureNameGen"); b0.VariableRefStep("localAttributeToFeatureNameMap"); b0.FeatureStep("name"); b0._Expressions(); b0._Call(); b0._Path(); b0.Path_(2); b0.Filter_(); b0.Call_(); b0.Name("getReferencedAttributes"); b1.Resolver(); b0._Call(); b0.ExpressionTest_(); b0.Filter_(); b0.FeatureStep("ref"); b0.Not_(); b0.ExpressionTest_(); b0.Call_(); b0.Name("isLocalQName"); b1.Resolver(); b0._Call(); b0._ExpressionTest(); b0._Not(); b0._Filter(); b0._ExpressionTest(); b0._Filter(); b0.Call_(); b0.Name("setFeatureAnnotation"); b0.Expressions_(3); b0.VariableRefStep("localFreshFeatureNameGen"); b0.VariableRefStep("localAttributeToFeatureNameMap"); b0.FeatureStep("ref"); b0._Expressions(); b0._Call(); b0._Path(); b0._Sequence(); b0._Path(); b0.SelfStep(); b0._Block(); } }