Update of /cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/entity
In directory
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32694/modules/ejb/src/xdoclet/modules/ejb/entity
Modified Files:
ValueObjectTagsHandler.java ValueObjectSubTask.java
Log Message:
using the same algorithm for a value object's implements and extends to
prevent problems when having multiple value-objects for the same entity bean
(XDT-691)
Index: ValueObjectTagsHandler.java
===================================================================
RCS file:
/cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/entity/ValueObjectTagsHandler.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -C2 -r1.26 -r1.27
*** ValueObjectTagsHandler.java 5 Apr 2005 11:05:34 -0000 1.26
--- ValueObjectTagsHandler.java 9 Apr 2005 07:28:54 -0000 1.27
***************
*** 220,223 ****
--- 220,230 ----
}
+ public static String getCurrentValueObjectExtends(XTag tag)
+ {
+ String toImplement = tag.getAttributeValue("extends");
+
+ return toImplement != null ? toImplement : "java.lang.Object";
+ }
+
/**
* Gets the SubTask attribute of the ValueObjectTagsHandler class
***************
*** 381,410 ****
public String extendsFrom(Properties attributes) throws XDocletException
{
! String extendsFrom = null;
!
! // get the value object's name we are checking extendsFrom for
! //
! String valueObjectName = attributes.getProperty("valueobject",
valueObjectName());
!
! // go through all the value-object tags until we find the one for our
value object
! //
! XClass currentClass = getCurrentClass();
! Collection valueObjectTags =
currentClass.getDoc().getTags("ejb:value-object");
!
! for (Iterator i = valueObjectTags.iterator();
! i.hasNext() && extendsFrom == null; ) {
! XTag tag = (XTag) i.next();
!
! String attr = tag.getAttributeValue("extends");
!
! if (valueObjectName.equals(tag.getAttributeValue("name")) &&
! attr != null) {
! // only extend if our value-object has an extends parameter
! //
! extendsFrom = attr;
! }
! }
!
! return extendsFrom != null ? extendsFrom : "java.lang.Object";
}
--- 388,392 ----
public String extendsFrom(Properties attributes) throws XDocletException
{
! return getSubTask().getCurrentValueObjectExtends();
}
Index: ValueObjectSubTask.java
===================================================================
RCS file:
/cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/entity/ValueObjectSubTask.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -r1.14 -r1.15
*** ValueObjectSubTask.java 15 Aug 2004 09:56:35 -0000 1.14
--- ValueObjectSubTask.java 9 Apr 2005 07:28:54 -0000 1.15
***************
*** 39,42 ****
--- 39,43 ----
private static String currentValueObjectMatch;
private static String currentValueObjectImplements;
+ private static String currentValueObjectExtends;
/**
***************
*** 85,88 ****
--- 86,94 ----
}
+ public static String getCurrentValueObjectExtends()
+ {
+ return currentValueObjectExtends;
+ }
+
/**
* Gets the CurrentValueObjectName attribute of the ValueObjectSubTask
class
***************
*** 221,224 ****
--- 227,231 ----
currentValueObjectMatch =
ValueObjectTagsHandler.getCurrentValueObjectMatch(tag);
currentValueObjectImplements =
ValueObjectTagsHandler.getCurrentValueObjectImplements(tag);
+ currentValueObjectExtends =
ValueObjectTagsHandler.getCurrentValueObjectExtends(tag);
super.generateForClass(clazz);
}
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
xdoclet-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel