Message:

   The following issue has been re-assigned.

   Assignee: Matthias Germann (mailto:[EMAIL PROTECTED])
---------------------------------------------------------------------
View the issue:
  http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1305

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: XDT-1305
    Summary: Incomprehensible silent changing '.' to  '/' in @ejb.ejb-ref 
ejb-name
       Type: Bug

     Status: Open
   Priority: Major

 Original Estimate: 15 minutes
 Time Spent: Unknown
  Remaining: 15 minutes

    Project: XDoclet
 Components: 
             EJB Module
   Versions:
             1.2
             1.2.1
             1.2.2

   Assignee: Matthias Germann
   Reporter: Konstantin Kasatkin

    Created: Mon, 21 Mar 2005 1:16 AM
    Updated: Fri, 25 Mar 2005 5:38 AM
Environment: JDK 1.4.2-05, Win2000Pro+SP4, Ant 1.5 Xdoclet 1.2 - 1.2.2 

Description:
Here is first class: ejb.EjbTagsHandler method prefixWithEjbSlash(String 
ejbName) line 386:

//        ejbName = ejbName.replace('.', '/');

I had to comment it because of problem with name conversations.

If I have such declaration:

 * @ejb.ejb-ref ejb-name="com.estylesoft.cms.ejb.CmsBizFlow"

after building the ejb-jar.xml will contain:

<ejb-ref >
  <ejb-ref-name>ejb/com/estylesoft/cms/ejb/CmsBizFlow</ejb-ref-name>
  .......
</ejb-ref>

instead of 

<ejb-ref >
  <ejb-ref-name>ejb.com.estylesoft.cms.ejb.CmsBizFlow</ejb-ref-name>
  ......
</ejb-ref>

and certainly application server throws exception during deployment.

Another case is not as important as first, but as a matter of fact it looks 
wrong.

Here is second class: ejb.home.HomeTagsHandler method getCompNameFor(XClass 
clazz, String type) line 171:

        String compName = getEjbNameFor(clazz);//.replace('.', '/');

I had to comment only replace method.

If I have such declaration:

 * @ejb:bean name="com.estylesoft.cms.ejb.BizFlow"
 *           jndi-name="com.estylesoft.cms.ejb.BizFlow"
 *           type="Stateless" transaction-type="Container"

after building the home class for this EJB will contain:

   public static final String 
COMP_NAME="java:comp/env/ejb/com/estylesoft/cms/ejb/BizFlow";

instead of 

   public static final String 
COMP_NAME="java:comp/env/ejb/com.estylesoft.cms.ejb.BizFlow";

That's wrong again.

I use such strange dot-separated names for compatibility purposes of different 
Java Application Servers.
I encountered cases when a JAS doesn't recognize slash-separated names (for 
example JRun). I think in any rate it is not good 
idea to make replacements out of user eye. Maybe make sence to add an attribute 
for task that will allow to manage this replacement.



---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://opensource.atlassian.com/projects/xdoclet/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira



-------------------------------------------------------
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
xdoclet-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to