public static void PrintEjb(Component project, string root, List <string> imports) { string packageDirectory = Path.Combine(root, JavaConventionHelper.packageConvention(project.Namespace.Name)); Directory.CreateDirectory(packageDirectory); using (StreamWriter writer = new StreamWriter(Path.Combine(packageDirectory, project.Name + ".java"))) { EjbGenerator javaGen = new EjbGenerator(); writer.WriteLine(javaGen.Generate(project, imports)); } }
private void AnalyseSoalType(Component project, string typeOwnerName, SoalType type) { Struct entity = type as Struct; ArrayType list = type as ArrayType; Symbols.Enum enumtype = type as Symbols.Enum; PrimitiveType primitiv = type as PrimitiveType; if (list != null) { entity = list.InnerType as Struct; string importString = JavaImportConfigHandler.getValue(JavaTypeConfigHandler.SwitchTypeName(list.MMetaClass.Name)); if (importString != null) { string importPackage = importString.Substring(0, importString.LastIndexOf(".")); string importObjectName = importString.Substring(importString.LastIndexOf(".") + 1); AddImport(project.Name, project.Namespace.Name, typeOwnerName, importPackage, importObjectName, false); } } if (entity != null) { bool success = AddImport(project.Name, project.Namespace.Name, typeOwnerName, JavaConventionHelper.packageConvention(project.Namespace.Name) + ".entities", entity.Name, isFileGenerationNeeded(project, entity)); if (success) { foreach (var attr in entity.Properties) { SoalType attrToType = attr.Type as SoalType; Symbols.Enum attrToEnum = attr.Type as Symbols.Enum; if (attrToEnum != null) { AddImport(project.Name, project.Namespace.Name, entity.Name, JavaConventionHelper.packageConvention(project.Namespace.Name) + ".enums", attrToEnum.Name, isFileGenerationNeeded(project, attrToEnum)); } else if (attrToType != null) { AnalyseSoalType(project, entity.Name, attrToType); } } } } else if (primitiv != null) { string importString = JavaImportConfigHandler.getValue(JavaTypeConfigHandler.SwitchTypeName(primitiv.MName)); if (importString != null) { string importPackage = importString.Substring(0, importString.LastIndexOf(".")); string importObjectName = importString.Substring(importString.LastIndexOf(".") + 1); AddImport(project.Name, project.Namespace.Name, typeOwnerName, importPackage, importObjectName, false); } } }
public static void PrintJpaEntity(Struct entity, string root, List <Struct> entites, List <string> imports) { string packageDirectory = Path.Combine(root, JavaConventionHelper.packageConvention(entity.Namespace.Name)); string entityDirectory = Path.Combine(packageDirectory, "entities"); Directory.CreateDirectory(entityDirectory); using (StreamWriter writer = new StreamWriter(Path.Combine(entityDirectory, entity.Name + ".java"))) { EntityGenerator javaGen = new EntityGenerator(); writer.WriteLine(javaGen.Generate(entity, entites, imports)); } }
private void AnalyseProject(Component project) { foreach (var attr in project.Properties) { AnalyseSoalType(project, project.Name, attr.Type); } foreach (var service in project.Services) { Database db = service.Interface as Database; if (db != null) { foreach (var entity in db.Entities) { AnalyseSoalType(project, project.Name, entity); } } foreach (var func in service.Interface.Operations) { AnalyseSoalType(project, service.Interface.Name, func.Result.Type); AnalyseSoalType(project, project.Name, func.Result.Type); foreach (var attr in func.Parameters) { AnalyseSoalType(project, service.Interface.Name, attr.Type); AnalyseSoalType(project, project.Name, attr.Type); } foreach (var ex in func.Exceptions) { AddImport(project.Name, project.Namespace.Name, service.Interface.Name, JavaConventionHelper.packageConvention(project.Namespace.Name) + ".exceptions", ex.Name, isFileGenerationNeeded(project, ex)); AddImport(project.Name, project.Namespace.Name, project.Name, JavaConventionHelper.packageConvention(project.Namespace.Name) + ".exceptions", ex.Name, isFileGenerationNeeded(project, ex)); } } } }