[ 
http://opensource.atlassian.com/projects/xdoclet/browse/XJD-71?page=comments#action_17625
 ] 

Lance Drake commented on XJD-71:
--------------------------------

It's not just '//' - I have overcome the impossibly LAMO error in my source 
code.

JAVA DOC BEFORE:
Code:
/**
 * @ejb.bean name="Trident"
 *           description="Trident Table Entity Bean"
 *           display-name="Trident"
 *           jndi-name="ejb/Trident"
 *           type="CMP"
 *           cmp-version="2.x"
 *           view-type="local"
 *           local-jndi-name="ejb/TridentLocalHome"
 *            schema="TridentList"
 *           cmp-field="table_pk"
 *           cmp-field="table_name"
 *           cmp-field="table_type"
 *           cmp-field="table_id"
 *           cmp-field="table_ipaddr"
 *           cmp-field="table_pit"
 *           cmp-field="table_status"
 *           cmp-field="table_serial"
 *           cmp-field="table_features"
 *           cmp-field="table_installed"
 *           cmp-field="table_txtime"
 *           cmp-field="table_heartbeat"
 *           primkey-field="table_pk"
 *           prim-key-class="java.lang.String"
 *           
 * @ejb.pk   class="java.lang.String"
 *          generate="true"
 *           
 * @ejb:util generate="physical"
 *
 * @ejb.finder 
*         description="Get ALL table records - returns a COLLECTION"
*          signature="java.util.Collection findAll()"
*         query="SELECT OBJECT(a) FROM TridentList a"
*/

// -------------------------- BAD BAD BAD Commentline 
-----------------------------------

public abstract class TridentBean implements EntityBean
{

/** The entity context */
private EntityContext context;


Produced an EJB-JAR.XML:

Code:
      <!-- Entity Beans -->
      <entity >
         <description><![CDATA[]]></description>

         <ejb-name>Trident</ejb-name>

         <home>com.jcm.table.trident.interfaces.TridentHome</home>
         <remote>com.jcm.table.trident.interfaces.Trident</remote>
         
<local-home>com.jcm.table.trident.interfaces.TridentLocalHome</local-home>
         <local>com.jcm.table.trident.interfaces.TridentLocal</local>

         <ejb-class>com.jcm.table.trident.ejb.TridentCMP</ejb-class>
         <persistence-type>Container</persistence-type>
         
<prim-key-class>com.jcm.table.trident.interfaces.TridentPK</prim-key-class>
         <reentrant>False</reentrant>
         <cmp-version>2.x</cmp-version>
         <abstract-schema-name>Trident</abstract-schema-name>
         <cmp-field >
            <description><![CDATA[PRIMARY KEY GET]]></description>
            <field-name>table_pk</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE ID GET]]></description>
            <field-name>table_id</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE Name GET]]></description>
            <field-name>table_name</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE Type GET]]></description>
            <field-name>table_type</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE IPaddr GET]]></description>
            <field-name>table_ipaddr</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE Pit GET]]></description>
            <field-name>table_pit</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE Status GET]]></description>
            <field-name>table_status</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE PCBSerialNumber GET]]></description>
            <field-name>table_serial</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE Features GET]]></description>
            <field-name>table_features</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE Installed DateTime GET]]></description>
            <field-name>table_installed</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE TransactionTime GET]]></description>
            <field-name>table_txtime</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE Heartbeat GET]]></description>
            <field-name>table_heartbeat</field-name>
         </cmp-field>

     <!-- Write a file named ejb-finders-TridentBean.xml if you want to define 
extra finders. -->

      </entity>


Notice - WRONG schema - WRONG prim-key-class - NO ejb.finder ref

Removing the BAD BAD BAD Comment-line inbetween the JAVADOC and class 
declaration then yields an EJB-JAR.XML of:

Code:

     <!-- Entity Beans -->
      <entity >
         <description><![CDATA[Trident Table Entity Bean]]></description>
         <display-name>Trident</display-name>

         <ejb-name>Trident</ejb-name>

         
<local-home>com.jcm.table.trident.interfaces.TridentLocalHome</local-home>
         <local>com.jcm.table.trident.interfaces.TridentLocal</local>

         <ejb-class>com.jcm.table.trident.ejb.TridentCMP</ejb-class>
         <persistence-type>Container</persistence-type>
         <prim-key-class>java.lang.String</prim-key-class>
         <reentrant>False</reentrant>
         <cmp-version>2.x</cmp-version>
         <abstract-schema-name>TridentList</abstract-schema-name>
         <cmp-field >
            <description><![CDATA[PRIMARY KEY GET]]></description>
            <field-name>table_pk</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE ID GET]]></description>
            <field-name>table_id</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE Name GET]]></description>
            <field-name>table_name</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE Type GET]]></description>
            <field-name>table_type</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE IPaddr GET]]></description>
            <field-name>table_ipaddr</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE Pit GET]]></description>
            <field-name>table_pit</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE Status GET]]></description>
            <field-name>table_status</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE PCBSerialNumber GET]]></description>
            <field-name>table_serial</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE Features GET]]></description>
            <field-name>table_features</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE Installed DateTime GET]]></description>
            <field-name>table_installed</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE TransactionTime GET]]></description>
            <field-name>table_txtime</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[TABLE Heartbeat GET]]></description>
            <field-name>table_heartbeat</field-name>
         </cmp-field>
         <primkey-field>table_pk</primkey-field>

         <query>
            <description><![CDATA[Get ALL table records - returns a 
COLLECTION]]></description>
            <query-method>
               <method-name>findAllTables</method-name>
               <method-params>
                  
<method-param>com.jcm.table.trident.interfaces.TridentLocal</method-param>
               </method-params>
            </query-method>
            <ejb-ql><![CDATA[SELECT OBJECT(a) FROM TridentList a]]></ejb-ql>
         </query>
     <!-- Write a file named ejb-finders-TridentBean.xml if you want to define 
extra finders. -->

      </entity>


Xdoclet could not get past the notion there was a comment in the source. It 
would seem this is a bug.


> Parser chokes on one-line comments
> ----------------------------------
>
>          Key: XJD-71
>          URL: http://opensource.atlassian.com/projects/xdoclet/browse/XJD-71
>      Project: XJavaDoc
>         Type: Bug

>     Versions: 1.1
>  Environment: PC, Java 1.5
>     Reporter: Roman V. Gavrilov
>     Assignee: xdoclet-devel (Use for new issues)

>
>
> Simple parser chokes on parsing file cantaining "//" (2 bytes).
> Error: 
> Error parsing [EMAIL PROTECTED]:Lexical error: xjavadoc.TokenMgrError: 
> Lexical error at line 1, column 3.  Encountered: <EOF> after : ""
> Somewhere in 'Token.getNextToken()'
> File containing "/**/" (4 bytes) goes through just fine.

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



_______________________________________________
xdoclet-devel mailing list
xdoclet-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to