r1937 - trunk/topia-persistence/src/main/java/org/nuiton/topia/generator
Author: tchemit Date: 2010-05-07 21:02:02 +0200 (Fri, 07 May 2010) New Revision: 1937 Url: http://nuiton.org/repositories/revision/topia/1937 Log: Evolution Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityHibernateMappingGenerator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityHibernateMappingGenerator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityHibernateMappingGenerator.java 2010-05-07 16:34:39 UTC (rev 1936) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityHibernateMappingGenerator.java 2010-05-07 19:02:02 UTC (rev 1937) @@ -267,21 +267,33 @@ protected String getType(ObjectModelAttribute attr, boolean isAssoc) { String type = attr.getType(); - if (TopiaGeneratorUtil.notEmpty(model.getTagValue(type))) { - String typeString = model.getTagValue(type); - int bracketIndex = typeString.indexOf('('); - if (bracketIndex != -1) { - type = typeString.substring(0, bracketIndex); - int bracketEndIndex = typeString.indexOf(')', bracketIndex + 1); - String colmunList; - if (bracketEndIndex != -1) { - colmunList = typeString.substring(bracketIndex + 1, bracketEndIndex); + String attrType = attr.getTagValue(TopiaGeneratorUtil.TAG_TYPE); + if (TopiaGeneratorUtil.notEmpty(attrType)) { + + // tag value detected of the attribute + type = attrType; + } else { + + String modelType = model.getTagValue(type); + if (TopiaGeneratorUtil.notEmpty(modelType)) { + + // tag value detected of the model + + //TODO TChemit 20100507 Explain What todes it do ? Dont understand the story of columnNamesMap + int bracketIndex = modelType.indexOf('('); + if (bracketIndex != -1) { + type = modelType.substring(0, bracketIndex); + int bracketEndIndex = modelType.indexOf(')', bracketIndex + 1); + String colmunList; + if (bracketEndIndex != -1) { + colmunList = modelType.substring(bracketIndex + 1, bracketEndIndex); + } else { + colmunList = modelType.substring(bracketIndex); + } + columnNamesMap.put(type, colmunList.split(",")); } else { - colmunList = typeString.substring(bracketIndex); + type = modelType; } - columnNamesMap.put(type, colmunList.split(",")); - } else { - type = typeString; } } if (attr.hasAssociationClass() && !isAssoc) { Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java 2010-05-07 16:34:39 UTC (rev 1936) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java 2010-05-07 19:02:02 UTC (rev 1937) @@ -239,6 +239,10 @@ */ public static final String TAG_GENERATE_OPERATOR_FOR_DAO_HELPER = "generateOperatorForDAOHelper"; /** + * Tag pour spécifier le type d'une propriété dans le mapping hibernate + */ + public static final String TAG_TYPE= "type"; + /** * Type de persistence Hibernate */ public static final String PERSISTENCE_TYPE_HIBERNATE = "hibernate";
participants (1)
-
tchemit@users.nuiton.org