Author: bpoussin Date: 2010-12-10 01:23:52 +0100 (Fri, 10 Dec 2010) New Revision: 589 Url: http://nuiton.org/repositories/revision/wikitty/589 Log: Evolution #1137: create new field type binary (generation done) Modified: trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyTransformerUtil.java Modified: trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyTransformerUtil.java =================================================================== --- trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyTransformerUtil.java 2010-12-09 23:30:35 UTC (rev 588) +++ trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyTransformerUtil.java 2010-12-10 00:23:52 UTC (rev 589) @@ -137,7 +137,9 @@ asWhat = getCollectionTypeName(attribute); } else { String simpleTypeName = FQNtoSimpleName(attribute.getType()); - if (commonTypes.contains(simpleTypeName)) { + if (commonBinary.contains(simpleTypeName)) { + asWhat = "Bytes"; + } else if (commonTypes.contains(simpleTypeName)) { asWhat = StringUtils.capitalize(simpleTypeName); } else { asWhat = "Wikitty"; @@ -153,7 +155,9 @@ protected static String generateResultType(ObjectModelAttribute attribute, boolean considerMultiplicity) { String simpleTypeName = FQNtoSimpleName(attribute.getType()); - if (! commonTypes.contains(simpleTypeName)) { + if (commonBinary.contains(simpleTypeName)) { + simpleTypeName = "byte[]"; // return a wikitty Id + } else if (!commonTypes.contains(simpleTypeName)) { simpleTypeName = "String"; // return a wikitty Id } @@ -188,6 +192,8 @@ result = "Numeric"; } else if(commonStrings.contains(simpleType)) { result = "String"; + } else if(commonBinary.contains(simpleType)) { + result = "Binary"; } return result; } @@ -219,11 +225,22 @@ commonStrings.add(String.class.getSimpleName()); } + private static Set<String> commonBinary; + static { + commonBinary = new HashSet<String>(); + commonBinary.add("byte[]"); + // it's not a good idea to add this because this can clash with user + // object name, but in graphique modeler, we can't add byte[] as return + // type :( + commonBinary.add("Binary"); + } + private static Set<String> commonTypes; static { commonTypes = new HashSet<String>(); commonTypes.addAll(commonNumerics); commonTypes.addAll(commonStrings); + commonTypes.addAll(commonBinary); commonTypes.add(boolean.class.getSimpleName()); commonTypes.add(Boolean.class.getSimpleName()); commonTypes.add(Date.class.getSimpleName());