[
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel