r1253 - in trunk/eugene/src/main/java/org/nuiton/eugene: . java
Author: tchemit Date: 2013-05-24 23:14:57 +0200 (Fri, 24 May 2013) New Revision: 1253 Url: http://nuiton.org/projects/eugene/repository/revisions/1253 Log: fixes #2698: Can not add a constructor if class name containes generics Modified: trunk/eugene/src/main/java/org/nuiton/eugene/GeneratorUtil.java trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java Modified: trunk/eugene/src/main/java/org/nuiton/eugene/GeneratorUtil.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/GeneratorUtil.java 2013-05-24 17:31:14 UTC (rev 1252) +++ trunk/eugene/src/main/java/org/nuiton/eugene/GeneratorUtil.java 2013-05-24 21:14:57 UTC (rev 1253) @@ -51,10 +51,8 @@ * <p/> * Created: 25 aout 2003 * - * @author Benjamin Poussin <poussin@codelutin.com> Copyright Code Lutin + * @author Benjamin Poussin <poussin@codelutin.com> * @version $Revision$ - * Mise à jour: $Date$ - * By : */ public class GeneratorUtil { @@ -699,8 +697,34 @@ } /** + * Remove any generics definition at the beginning of a string. + * <p/> + * For example : + * <pre> + * <T> T -> T + * </pre> + * * @param str the string to parse * @return the string without any + * @since 2.6.3 + */ + public static String removeAnyGenericDefinition(String str) { + + // always trim the string + String result = str.trim(); + + if (!result.contains("<")) { + + // no generics definition, no treatment to do + return str; + } + result = result.substring(0,result.indexOf('<')); + return result; + } + + /** + * @param str the string to parse + * @return the string without any * @since 2.3.2 */ public static String[] splitGenericDefinition(String str) { Modified: trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java 2013-05-24 17:31:14 UTC (rev 1252) +++ trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java 2013-05-24 21:14:57 UTC (rev 1253) @@ -499,6 +499,8 @@ "Illegal visibility type : " + visibility.toString() + " for " + classifier.getQualifiedName()); } - return addOperation(classifier, classifier.getName(), null, visibility); + String simpleName = JavaGeneratorUtil.removeAnyGenericDefinition( + classifier.getName()); + return addOperation(classifier, simpleName, null, visibility); } }
participants (1)
-
tchemit@users.nuiton.org