- This topic has 7 replies, 2 voices, and was last updated 21 years ago by Riyad Kalla.
-
AuthorPosts
-
kbottnerMemberWhen xdoclet generates the homeinterface (subtask) it does not respect the homeinterface pattern attribute. With the pattern set to {0}Home it still generates a class named WhateverBean which conflicts with my actual bean which is already called that. the xdoclet-build.xml is getting the appropriate settings is there some other setting that must be set for this pattern attribute to be utilized? If not then I believe this is a bug!
Keith
Riyad KallaMemberKeith,
This has been brought to our attention in this thread (https://www.genuitec.com/forums/topic/ejb-wizard-and-ejb-bean-name-enhancement/&highlight=xdoclet+bean). Is this the same problem you are experiencing? In which case please vote on that thread (+1) to let us know its important to fix.
kbottnerMemberIt is not the same thing.
By calling his bean MyBean in the EJB Wizard results in the ejb.bean name attribute being set to MyBean by default, which he then has to change manually.
I have already changed it manually, therefore, my bean is called HelloBean its ejb.bean name=”Hello”. In addition my xdoclet generation for the homeinterface subtask of ejbdoclet task uses the pattern attribute and sets it to {0}Home. This setting should, by my understanding of the XDoclet documentation, generate me a remote home interface named HelloHome. This does not happen, it appears that the pattern attributes in the XDoclet subtasks are ignoring their settings and not using them at all. This is NOT the same problem as the one specified above, the one is a convenience the other is a broken piece of functionality.
Thanks,
Keith
Riyad KallaMemberKeith, I’m sorry for misunderstanding your report. I’ll send it to the internal team.
kbottnerMemberNo problem, tons of bug reports they all start to look the same 😉
BTW, I went ahead and generated a Ant build file directly using XDoclet and bypassing the IDE and hence MyEclipse and the problem still persists. I think it might actually be a problem with XDoclet or erroneous documentation on how those attributes work. I will continue my investigation and let you know if I come up with anything that is useful.
Keith
Riyad KallaMemberHmm that is an interesting finding; thanks for keeping us posted (before the Dev team killed themselves trying to find the bug 😉
kbottnerMemberSince the ant build file directly caused the same problems I figured it was either a bug in Xdoclet ignoring the pattern attribute or a conflict between some settings. The answer is an overriding setting.
If @ejb.interface and @ejb.home appear on the class level then they override the settings that appear within the localinterface, homeinterface, etc.
* @ejb.interface * remote-class = "org.jboss.examples.ws.hello.Hello" * extends = "javax.ejb.EJBObject" * * @ejb.home remote-class = "org.jboss.examples.ws.hello.HelloBean" * extends = "javax.ejb.EJBHome"
And ultimately this makes sense, since the localinterface etc. are general patterns and the local @ejb.interface and @ejb.home settings are specific to a particular class to override whatever the more general settings may be. So in short, no bug, just watch your back side with XDoclet settings since there is little documentation on what overrides what.
Thanks for hanging in there. Great product, looking forward to explict Web service integration in the future.
Keith
Riyad KallaMemberOh glad to hear it wasn’t a bug and thank you for the detailed info, we can reference this in the future for anyone else that has this trouble.
-
AuthorPosts