Index: core/src/xdoclet/tagshandler/MethodTagsHandler.java =================================================================== RCS file: /cvsroot/xdoclet/xdoclet/core/src/xdoclet/tagshandler/MethodTagsHandler.java,v retrieving revision 1.34 diff -u -r1.34 MethodTagsHandler.java --- core/src/xdoclet/tagshandler/MethodTagsHandler.java 9 Apr 2005 15:16:56 -0000 1.34 +++ core/src/xdoclet/tagshandler/MethodTagsHandler.java 8 Jan 2006 21:21:16 -0000 @@ -21,7 +21,7 @@ * @author Ara Abrahamian (ara_e@email.com) * @created Oct 15, 2001 * @xdoclet.taghandler namespace="Method" - * @version $Revision$ + * @version $Revision: 1.34 $ */ public class MethodTagsHandler extends AbstractProgramElementTagsHandler { @@ -113,6 +113,11 @@ return hasExecutableMember(clazz, methodName, parameters, setCurrentMethod, FOR_METHOD); } + public static String stripGenerics(String methodName) + { + return methodName.replaceAll("\\<(.*)\\>", ""); + } + /** * Returns 'get' or 'is' getter prefix part of the current method. Returns empty string if the method doesn't start * with either of the two getter prefixes. Index: src/xdoclet/ejb/EjbDocletTask.java =================================================================== RCS file: /cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/ejb/EjbDocletTask.java,v retrieving revision 1.2 diff -u -r1.2 EjbDocletTask.java --- src/xdoclet/ejb/EjbDocletTask.java 8 Nov 2002 20:51:30 -0000 1.2 +++ src/xdoclet/ejb/EjbDocletTask.java 8 Feb 2007 21:29:02 -0000 @@ -7,7 +7,7 @@ /** * Backwards Compatibility layer * - * @author Aslak Hellesøy + * @author Aslak Helles?y * @created 2. september 2002 * @deprecated */ Index: src/xdoclet/modules/ejb/EjbTagsHandler.java =================================================================== RCS file: /cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/EjbTagsHandler.java,v retrieving revision 1.31 diff -u -r1.31 EjbTagsHandler.java --- src/xdoclet/modules/ejb/EjbTagsHandler.java 1 Aug 2005 12:38:25 -0000 1.31 +++ src/xdoclet/modules/ejb/EjbTagsHandler.java 8 Feb 2007 21:29:02 -0000 @@ -616,9 +616,9 @@ if (DocletSupport.isDocletGenerated(getCurrentClass())) { continue; } - + if (!hasHavingClassTag(getCurrentClass())) { - continue; + continue; } if (EntityTagsHandler.isEntity(getCurrentClass()) || SessionTagsHandler.isSession(getCurrentClass()) || Index: src/xdoclet/modules/ejb/dd/EjbDotXmlSubTask.java =================================================================== RCS file: /cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/dd/EjbDotXmlSubTask.java,v retrieving revision 1.18 diff -u -r1.18 EjbDotXmlSubTask.java --- src/xdoclet/modules/ejb/dd/EjbDotXmlSubTask.java 25 Mar 2005 21:03:39 -0000 1.18 +++ src/xdoclet/modules/ejb/dd/EjbDotXmlSubTask.java 8 Feb 2007 21:29:03 -0000 @@ -51,8 +51,8 @@ * containing any additional method-permission elements not generated by XDoclet." * @xdoclet.merge-file file="ejb-container-transactions.ent" relates-to="ejb-jar.xml" description="An XML unparsed * entity containing any additional container-transaction elements not generated by XDoclet." - * @xdoclet.merge-file file="ejb-message-destinations.ent" relates-to="ejb-jar.xml" description="An XML document containing - * message-destination elements. Only used with EJB 2.1+" + * @xdoclet.merge-file file="ejb-message-destinations.ent" relates-to="ejb-jar.xml" description="An XML document + * containing message-destination elements. Only used with EJB 2.1+" * @xdoclet.merge-file file="ejb-exclude-list.xml" relates-to="ejb-jar.xml" description="An XML document containing * any exclude-list element. Only used with EJB 2.0+" * @xdoclet.merge-file file="relationships.xml" relates-to="ejb-jar.xml" description="AN XML unparsed entity Index: src/xdoclet/modules/ejb/dd/RelationTagsHandler.java =================================================================== RCS file: /cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/dd/RelationTagsHandler.java,v retrieving revision 1.12 diff -u -r1.12 RelationTagsHandler.java --- src/xdoclet/modules/ejb/dd/RelationTagsHandler.java 15 Jan 2005 01:11:39 -0000 1.12 +++ src/xdoclet/modules/ejb/dd/RelationTagsHandler.java 8 Feb 2007 21:29:04 -0000 @@ -21,7 +21,7 @@ import xdoclet.util.TypeConversionUtil; /** - * @author Aslak Hellesøy + * @author Aslak Helles?y * @author Ara Abrahamian (ara_e@email.com) * @created Oct 15, 2001 * @xdoclet.taghandler namespace="EjbRel" @@ -379,6 +379,12 @@ return MethodTagsHandler.getMethodTypeFor(currentRelation.getLeftMethod()); } + public String leftFieldTypeWithoutGenerics() throws XDocletException + { + return MethodTagsHandler.stripGenerics(MethodTagsHandler.getMethodTypeFor(currentRelation.getLeftMethod())); + } + + /** * Describe what the method does * @@ -390,6 +396,11 @@ return MethodTagsHandler.getMethodTypeFor(currentRelation.getRightMethod()); } + public String rightFieldTypeWithoutGenerics() throws XDocletException + { + return MethodTagsHandler.stripGenerics(MethodTagsHandler.getMethodTypeFor(currentRelation.getRightMethod())); + } + /** * Evaluates the body block if current method's return type is not a java.util.Collection or java.util.Set. Used by * forAllRelationships. @@ -620,7 +631,8 @@ */ public String leftMultiplicity() throws XDocletException { - return currentRelation.getLeftMultiplicity(); + //Strip down the generics + return currentRelation.getLeftMultiplicity().replace("\\<(.*)\\>", ""); } /** @@ -631,7 +643,7 @@ */ public String rightMultiplicity() throws XDocletException { - return currentRelation.getRightMultiplicity(); + return currentRelation.getRightMultiplicity().replace("\\<(.*)\\>", ""); } /** @@ -642,7 +654,8 @@ */ protected boolean isSetOrCollection(String type) { - return (type.equals("java.util.Collection") || type.equals("java.util.Set")); + return (type.startsWith("java.util.Collection") || type.startsWith("java.util.Set") + || type.startsWith("Collection") || type.startsWith("Set")); } protected boolean hasRelationships() @@ -679,7 +692,7 @@ /** * Holds class/method of the two end points of a relationship. * - * @author Aslak Hellesøy + * @author Aslak Helles?y * @created August 28, 2001 */ public class RelationHolder Index: src/xdoclet/modules/ejb/dd/resources/asm-descriptor.xdt =================================================================== RCS file: /cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/dd/resources/asm-descriptor.xdt,v retrieving revision 1.16 diff -u -r1.16 asm-descriptor.xdt --- src/xdoclet/modules/ejb/dd/resources/asm-descriptor.xdt 22 Apr 2005 13:02:06 -0000 1.16 +++ src/xdoclet/modules/ejb/dd/resources/asm-descriptor.xdt 8 Feb 2007 21:29:04 -0000 @@ -104,7 +104,7 @@ - + @@ -259,7 +259,7 @@ - + Index: src/xdoclet/modules/ejb/dd/resources/relationships.xdt =================================================================== RCS file: /cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/dd/resources/relationships.xdt,v retrieving revision 1.3 diff -u -r1.3 relationships.xdt --- src/xdoclet/modules/ejb/dd/resources/relationships.xdt 16 Apr 2004 16:37:56 -0000 1.3 +++ src/xdoclet/modules/ejb/dd/resources/relationships.xdt 8 Feb 2007 21:29:07 -0000 @@ -19,7 +19,7 @@ > - + @@ -40,7 +40,7 @@ > - + @@ -70,4 +70,4 @@ - \ No newline at end of file + Index: src/xdoclet/modules/ejb/env/EnvTagsHandler.java =================================================================== RCS file: /cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/env/EnvTagsHandler.java,v retrieving revision 1.3 diff -u -r1.3 EnvTagsHandler.java --- src/xdoclet/modules/ejb/env/EnvTagsHandler.java 10 Apr 2005 16:50:08 -0000 1.3 +++ src/xdoclet/modules/ejb/env/EnvTagsHandler.java 8 Feb 2007 21:29:14 -0000 @@ -21,6 +21,7 @@ import xdoclet.XDocletException; import xdoclet.XDocletTagSupport; +import xdoclet.tagshandler.MethodTagsHandler; import xdoclet.util.TypeConversionUtil; /** @@ -268,7 +269,7 @@ if (Modifier.isPublic(method.getModifierSpecifier())) { sb.append("public "); } - sb.append(method.getReturnType().getType().getQualifiedName()); + sb.append(MethodTagsHandler.stripGenerics(method.getReturnType().getType().getQualifiedName())); sb.append(' '); sb.append(method.getNameWithSignature(true)); Index: src/xdoclet/modules/ejb/home/HomeTagsHandler.java =================================================================== RCS file: /cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/home/HomeTagsHandler.java,v retrieving revision 1.39 diff -u -r1.39 HomeTagsHandler.java --- src/xdoclet/modules/ejb/home/HomeTagsHandler.java 14 Aug 2005 08:27:43 -0000 1.39 +++ src/xdoclet/modules/ejb/home/HomeTagsHandler.java 8 Feb 2007 21:29:15 -0000 @@ -211,10 +211,11 @@ if (tagType.equals("ejb:finder")) { String ejbReturn = method.getReturnType().getType().getQualifiedName(); - if (ejbReturn.equals("java.util.Collection") || - ejbReturn.equals("java.util.Enumeration") || - ejbReturn.equals("java.util.Set")) { - homeMethodName.append(ejbReturn); + if (ejbReturn.startsWith("java.util.Collection") || + ejbReturn.startsWith("java.util.Enumeration") || + ejbReturn.startsWith("java.util.Set")) { + ejbReturn = ejbReturn.replaceAll("<(.*?)>", ""); + homeMethodName.append(ejbReturn + "<" + InterfaceTagsHandler.getComponentInterface(type, clazz) + ">"); } else { @@ -377,13 +378,13 @@ String sign = st.nextToken(); StringBuffer ret = new StringBuffer(); - if (sign.equals("Collection") || sign.equals("java.util.Collection")) { + if (sign.startsWith("Collection") || sign.startsWith("java.util.Collection")) { ret.append("java.util.Collection"); } - else if (sign.equals("Enumeration") || sign.equals("java.util.Enumeration")) { + else if (sign.startsWith("Enumeration") || sign.startsWith("java.util.Enumeration")) { ret.append("java.util.Enumeration"); } - else if (sign.equals("Set") || sign.equals("java.util.Set")) { + else if (sign.startsWith("Set") || sign.startsWith("java.util.Set")) { ret.append("java.util.Set"); } else { @@ -915,6 +916,7 @@ } setCurrentClassTag(tag); + setCurrentSignature(signature); if (tag.getAttributeValue("unchecked") != null) { @@ -1065,10 +1067,10 @@ { String currentType = currentType(); - if ("Collection".equals(currentType) || - "java.util.Collection".equals(currentType) || - "Set".equals(currentType) || - "java.util.Set".equals(currentType)) { + if (currentType.startsWith("Collection") || + currentType.startsWith("java.util.Collection") || + currentType.startsWith("Set") || + currentType.startsWith("java.util.Set")) { generate(template); } } Index: src/xdoclet/modules/ejb/intf/InterfaceTagsHandler.java =================================================================== RCS file: /cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/intf/InterfaceTagsHandler.java,v retrieving revision 1.21 diff -u -r1.21 InterfaceTagsHandler.java --- src/xdoclet/modules/ejb/intf/InterfaceTagsHandler.java 26 Mar 2005 10:29:19 -0000 1.21 +++ src/xdoclet/modules/ejb/intf/InterfaceTagsHandler.java 8 Feb 2007 21:29:15 -0000 @@ -136,6 +136,7 @@ if (sb.length() > 0) { sb.append('.'); } + sb.append(ejb_name); return sb.toString();