kdo_class_obj.AddReference(extd_obj.MyDotHCode()) kdo_class_obj.AddRefField(extd_obj.RelDotHField_Syskey()) kdo_class_obj.AddInitRefField(extd_obj.RelDotCppField_Syskey()) kdo_class_obj.AddInitRef(extd_obj.MyInitDotCppCode()) rel_kdo_class_obj = kdo_class_list[extd_obj.RelClassName()] rel_kdo_class_obj.AddBeforeClass(extd_obj.RelBeforeClass()) rel_kdo_class_obj.AddReference(extd_obj.RelDotHCode()) rel_kdo_class_obj.AddCollectionFunction(extd_obj.RelDotHCollectionFunction()) rel_kdo_class_obj.AddRelListFunction(extd_obj.RelDotCppCollectionFunction()) kdo_class_list[extd_obj.RelClassName()] = rel_kdo_class_obj if class_chirld.tag == 'References': for reference_element in class_chirld: ref_obj = xml2ref(curr_class_name, reference_element.attrib['Name'], reference_element.attrib['Type'], reference_element.attrib['Relation']) kdo_class_obj.AddBeforeClass(ref_obj.MyBeforeClass()) kdo_class_obj.AddReference(ref_obj.MyDotHCode()) kdo_class_obj.AddInitRef(ref_obj.MyInitDotCppCode()) if curr_class_name == 'ManufactureProcess': print(ref_obj.my_class_name) kdo_class_obj.AddRefField(ref_obj.RelDotHField_Syskey()) kdo_class_obj.AddInitRefField(ref_obj.RelDotCppField_Syskey()) rel_kdo_class_obj = kdo_class_list[ref_obj.RelClassName()] rel_kdo_class_obj.AddBeforeClass(ref_obj.RelBeforeClass()) rel_kdo_class_obj.AddReference(ref_obj.RelDotHCode()) rel_kdo_class_obj.AddCollectionFunction(ref_obj.RelDotHCollectionFunction()) rel_kdo_class_obj.AddInitRef(ref_obj.RelInitDotCppCode()) rel_kdo_class_obj.AddRelListFunction(ref_obj.RelDotCppCollectionFunction()) kdo_class_list[ref_obj.RelClassName()] = rel_kdo_class_obj
dot_h_code += '#define ' + self.class_name + '_H\n\n' dot_h_code += self.HInclude() + '\n' dot_h_code += self.HUsingNameSpace() + '\n' dot_h_code += self.HClassCode(0, self.member_list) dot_h_code += '\n#endif' return dot_h_code def Write2DotHFile(self, filePath): fil_path_ename = "" if len(filePath) != 0: fil_path_ename = filePath + '\\' + self.class_name + '.h' else: fil_path_ename = self.class_name + '.h' file = open(fil_path_ename, 'w') file.write(self.PrintDotHFile()) file.close() if __name__ == "__main__": classX = xml2Class("Employee") classX.AddMemberVariable("string", "Id") #classX.AddMemberVariable("string", "SystemKey") classX.AddMemberVariable("unsigned int", "ActiveFlag") classX.AddMemberVariable("float", "SomeValue") ref_obj1 = xml2ref("Employee", 'RawMaterial', 'Link', 'Has') classX.AddReference(ref_obj1.MyDotHCode()) ref_obj2 = xml2ref("Employee", 'RawMaterialSize', 'Unique', 'Has') classX.AddReference(ref_obj2.MyDotHCode()) classX.Write2DotHFile('') classX.Write2DotCppFile('')
dot_h_code += '#define ' + self.class_name + '_H\n\n' dot_h_code += self.HInclude() + '\n' dot_h_code += self.HUsingNameSpace() + '\n' dot_h_code += self.HClassCode(0, self.member_list) dot_h_code += '\n#endif' return dot_h_code def Write2DotHFile(self, filePath): fil_path_ename = "" if len(filePath) != 0: fil_path_ename = filePath + '\\' + self.class_name + '.h' else: fil_path_ename = self.class_name + '.h' file = open( fil_path_ename, 'w') file.write(self.PrintDotHFile()) file.close() if __name__ == "__main__": classX = xml2Class("Employee") classX.AddMemberVariable("string", "Id") #classX.AddMemberVariable("string", "SystemKey") classX.AddMemberVariable("unsigned int", "ActiveFlag") classX.AddMemberVariable("float", "SomeValue") ref_obj1 = xml2ref("Employee", 'RawMaterial', 'Link' , 'Has') classX.AddReference(ref_obj1.MyDotHCode()) ref_obj2 = xml2ref("Employee", 'RawMaterialSize', 'Unique' , 'Has') classX.AddReference(ref_obj2.MyDotHCode()) classX.Write2DotHFile('') classX.Write2DotCppFile('')
kdo_class_obj.AddInitRef(extd_obj.MyInitDotCppCode()) rel_kdo_class_obj = kdo_class_list[extd_obj.RelClassName()] rel_kdo_class_obj.AddBeforeClass(extd_obj.RelBeforeClass()) rel_kdo_class_obj.AddReference(extd_obj.RelDotHCode()) rel_kdo_class_obj.AddCollectionFunction( extd_obj.RelDotHCollectionFunction()) rel_kdo_class_obj.AddRelListFunction( extd_obj.RelDotCppCollectionFunction()) kdo_class_list[extd_obj.RelClassName()] = rel_kdo_class_obj if class_chirld.tag == 'References': for reference_element in class_chirld: ref_obj = xml2ref(curr_class_name, reference_element.attrib['Name'], reference_element.attrib['Type'], reference_element.attrib['Relation']) kdo_class_obj.AddBeforeClass(ref_obj.MyBeforeClass()) kdo_class_obj.AddReference(ref_obj.MyDotHCode()) kdo_class_obj.AddInitRef(ref_obj.MyInitDotCppCode()) if curr_class_name == 'ManufactureProcess': print(ref_obj.my_class_name) kdo_class_obj.AddRefField(ref_obj.RelDotHField_Syskey()) kdo_class_obj.AddInitRefField(ref_obj.RelDotCppField_Syskey()) rel_kdo_class_obj = kdo_class_list[ref_obj.RelClassName()] rel_kdo_class_obj.AddBeforeClass(ref_obj.RelBeforeClass()) rel_kdo_class_obj.AddReference(ref_obj.RelDotHCode()) rel_kdo_class_obj.AddCollectionFunction( ref_obj.RelDotHCollectionFunction()) rel_kdo_class_obj.AddInitRef(ref_obj.RelInitDotCppCode())