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();