Changeset 7978 for mauRepo/xmi2sqlalchemy
- Timestamp:
- 14/11/11 11:40:08 (8 years ago)
- Location:
- mauRepo/xmi2sqlalchemy/trunk/src
- Files:
-
- 1 added
- 1 deleted
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
mauRepo/xmi2sqlalchemy/trunk/src/main/java/ndg/services/newmoon/UMLElementsArchive.java
r7977 r7978 479 479 } 480 480 481 public UMLClass getUMLClassByName(String className) { 482 return getElementByName(className, UMLClass.class); 483 } 484 481 485 private <T extends UML_ID> T getElementByName(String className, Class<T> elementType) { 482 486 -
mauRepo/xmi2sqlalchemy/trunk/src/main/java/ndg/services/newmoon/velocity/python/GenerateTables.java
r7977 r7978 51 51 import ndg.services.newmoon.velocity.python.support.TableModel; 52 52 import ndg.services.newmoon.xmiModel.UMLClass; 53 import ndg.services.newmoon.xmiModel.UMLModel;54 53 import ndg.services.newmoon.xmiModel.UMLValueTagged; 55 54 import ndg.services.newmoon.xmiModel.UML_ID; … … 71 70 72 71 private final List<UMLClass> umlClasses = new ArrayList<UMLClass>(); 73 74 private final UMLModel umlModel;75 72 76 73 private final Logger logger = LoggerFactory.getLogger(GenerateTables.class); … … 96 93 97 94 /** 98 * @param packageBase 99 * @deprecated 95 * @param umlClasses the classes for which have to be generated a table instance 100 96 */ 101 97 public GenerateTables(List<UMLClass> umlClasses, GenerateModuleHelper helper) { 102 98 super(helper); 103 99 this.umlClasses.addAll(umlClasses); 104 this.umlModel = null;105 }106 107 /**108 * @param packageBase109 */110 public GenerateTables(UMLModel model, GenerateModuleHelper helper) {111 super(helper);112 this.umlModel = model;113 umlClasses.addAll(UMLElementsArchive.getInstance().getUMLClassesByUMLModel(umlModel));114 100 } 115 101 -
mauRepo/xmi2sqlalchemy/trunk/src/main/resources/velocity/python/mapping.vm
r7974 r7978 6 6 ${tab}if (target.${tm}_id is None): 7 7 ${tab}${tab}target.${tm}_id = next_id(connection, '${tm}_id_seq') 8 # if($tableModel.hasChildren)9 ${tab}target.${tm}_type = '${tm}'10 # end8 ##if($tableModel.hasChildren) 9 ##${tab}target.${tm}_type = '${tm}' 10 ##end 11 11 #foreach( $parent in $tableModel.inherited) 12 12 #set ($tp = $parent.associatedClass.name.toLowerCase()) 13 ${tab}target.${tp}_type = '${tp}'13 ##${tab}target.${tp}_type = '${tp}' 14 14 ${tab}target.${tp}_id = next_id(connection, '${tp}_id_seq') 15 15 ${tab}target.${tm}_${tp}_id = target.${tp}_id -
mauRepo/xmi2sqlalchemy/trunk/src/main/resources/velocity/python/sqlAlchemyTables.vm
r7974 r7978 41 41 ${tab}#column($simpleAttribute) 42 42 #end 43 # if($tableModel.hasChildren)44 ${tab}Column('${tableModel.associatedClass.name.toLowerCase()}_type', String(30), nullable=False),45 # end43 ##if($tableModel.hasChildren) 44 ##${tab}Column('${tableModel.associatedClass.name.toLowerCase()}_type', String(30), nullable=False), 45 ##end 46 46 #inheritanceColumn($tableModel) 47 47 ${tab}extend_existing=False,) -
mauRepo/xmi2sqlalchemy/trunk/src/test/java/ngn/services/newmoon/DOMParser.java
r7974 r7978 4 4 5 5 import java.io.InputStream; 6 import java.util.ArrayList; 7 import java.util.List; 8 import java.util.Scanner; 6 9 import java.util.concurrent.Future; 7 10 … … 10 13 import ndg.services.newmoon.velocity.python.GenerateModule; 11 14 import ndg.services.newmoon.velocity.python.GenerateTables; 15 import ndg.services.newmoon.xmiModel.UMLClass; 12 16 import ndg.services.newmoon.xmiModel.UMLModel; 13 17 18 import org.apache.commons.collections.CollectionUtils; 14 19 import org.junit.Assert; 15 20 import org.junit.Test; 16 21 17 22 public class DOMParser { 23 24 25 public final void testParseinputAddClassFile() { 26 InputStream inputAddClass = NmParser.class.getClassLoader().getResourceAsStream("CEDA_Model/AdditionalClasses.txt"); 27 if (inputAddClass != null) { 28 Scanner sc = new Scanner(inputAddClass); 29 while (sc.hasNext()) { 30 System.out.println(sc.next()); 31 } 32 } 33 } 34 18 35 19 36 @Test 20 37 public final void testParseXmlFile() { 21 //InputStream inputXML = NmParser.class.getClassLoader().getResourceAsStream("CEDA_Model/MOLES3_4.xml");22 InputStream input XML = NmParser.class.getClassLoader().getResourceAsStream("CEDA_ModelXMI.xml");38 InputStream inputXML = NmParser.class.getClassLoader().getResourceAsStream("CEDA_Model/CEDA_ModelXMI.xml"); 39 InputStream inputAddClass = NmParser.class.getClassLoader().getResourceAsStream("CEDA_Model/AdditionalClasses.txt"); 23 40 try { 24 41 NmParser xmiParser = new NmParser(inputXML, null); … … 26 43 27 44 UMLElementsArchive.getInstance().waitParserToComplete(); 28 29 30 31 // Evaluates which Stubs has multeplicity more than one.32 // It helps to generate pne of the one-to-one, one-to-many, many-to-many db strategies33 //UMLElementsArchive.getInstance().evaluateMulteplicity();34 35 /*36 //verify if is possible to fork as thread37 List<UMLModel> models = UMLElementsArchive.getInstance().getUMLElementByType(UMLModel.class);38 for (UMLModel model : models) {39 GenerateModule module = new GenerateModule(model);40 UMLElementsArchive.getInstance().startNewParser(module);41 }42 */43 45 44 46 /* I try to generate just what I need */ … … 48 50 UMLElementsArchive.getInstance().waitParserToComplete(); 49 51 52 53 50 54 // Is better to generate the table on a separate process in order to minimize the generated tables 51 GenerateTables tables = new GenerateTables(umlModel, module.getHelper()); 55 List<UMLClass> umlClasses = new ArrayList<UMLClass>(); 56 umlClasses.addAll(UMLElementsArchive.getInstance().getUMLClassesByUMLModel(umlModel)); 57 if (inputAddClass != null) { 58 Scanner sc = new Scanner(inputAddClass); 59 if (sc.hasNext()) { 60 CollectionUtils.addIgnoreNull(umlClasses, 61 UMLElementsArchive.getInstance().getUMLClassByName(sc.next())); 62 } 63 } 64 65 GenerateTables tables = new GenerateTables(umlClasses, module.getHelper()); 52 66 tables.execute(); 53 54 67 55 68 } catch (Exception e) {
Note: See TracChangeset
for help on using the changeset viewer.