You are viewing a plain text version of this content. The canonical link for it is here.
Posted to torque-dev@db.apache.org by "CG Monroe (JIRA)" <ji...@apache.org> on 2006/10/30 04:26:17 UTC

[jira] Updated: (TORQUE-44) Column names in generated classes are uppercase

     [ http://issues.apache.org/jira/browse/TORQUE-44?page=all ]

CG Monroe updated TORQUE-44:
----------------------------

    Attachment: Torque-44.zip


Change Log for "New and Improved" Torque-44 patch.

Overview

This patch will make Torque OM Peer class column constant use values with the 
exact same case as the XML name= attribute.

However, the original upper case column name constants can be produced by 
adding the following build property to your generator property settings:

    torque.deprecated.uppercasePeer = true
    
In addition, all references in the templates to Peer column constants have been
converted to use a new getPeerJavaName method in the Column generator object.  
This was done for several reasons:

	To allow columns to be named TABLE_NAME or DATABASE_NAME (Column constant 
	names	for these are modified to _TABLE_NAME and _DATABASE_NAME)
	
	To lay some ground work for future support of delimited columns
	
	To centralize the naming convention into an easily overridable class rather
	than spread over several different templates.

Also, the templates use the existing getFullyQualifiedName method to set the Column 
constant values. (So it can be overridden by in the class if desired).
	
Finally, the properties reference and Database Layout How To have been updated.

File mods:

Column.java

Added getPeerJavaName() method with handling for renaming TABLE_NAME and
COLUMN_NAME columns.

properties-reference.xml

Added torque.deprecated.uppercasePeer property at the bottom of the Template
variables section

database-layout-howto.xml

Added some info about problems using delimited column names and the special
handling of TABLE_NAME and DATABASE_NAME columns.

MapBuilder.vm, Object.vm, ObjectWithManager.vm, Peer.vm

Peer name references updated.
Some unused SET statements removed.
Support for new and old methods in generation

	 

> Column names in generated classes are uppercase
> -----------------------------------------------
>
>                 Key: TORQUE-44
>                 URL: http://issues.apache.org/jira/browse/TORQUE-44
>             Project: Torque
>          Issue Type: Bug
>          Components: Generator
>    Affects Versions: 3.2, 3.1.1, 3.1
>            Reporter: Thoralf Rickert
>         Assigned To: Thomas Fischer
>             Fix For: 3.2.1
>
>         Attachments: patch.txt, Torque-44.zip
>
>
> The generator creates constants for the column names in tables. The content of this constants uses upper cases.
> For example if you have a table like:
> <table name="address">
>         <column name="class" javaName="aClass" primaryKey="true" required="true" size="2" type="CHAR"/>
>         <column name="id" primaryKey="true" required="true" size="30" type="VARCHAR"/>
>         <column name="position" primaryKey="true" required="true" type="INTEGER"/>
>         <column name="name1" size="50" type="VARCHAR"/>
>         <column name="name2" size="50" type="VARCHAR"/>
>         <column name="name3" size="50" type="VARCHAR"/>
>         <column name="street" size="50" type="VARCHAR"/>
>         <column name="zipcode" size="25" type="VARCHAR"/>
>         <column name="city" size="60" type="VARCHAR"/>
>         <column name="phone" size="40" type="VARCHAR"/>
>         <column name="phone2" size="40" type="VARCHAR"/>
>         <column name="country" size="200" type="VARCHAR"/>
>         <column name="state" size="200" type="VARCHAR"/>
>         <column name="fax" size="40" type="VARCHAR"/>
>         <column name="email" size="150" type="VARCHAR"/>
> </table>
> The generator creates in the corresponding BaseAddressPeer the following constants.
> ...
>     static
>     {
>           CLASS = "address.CLASS";
>           ID = "address.ID";
>           POSITION = "address.POSITION";
>           NAME1 = "address.NAME1";
>           NAME2 = "address.NAME2";
>           NAME3 = "address.NAME3";
>           STREET = "address.STREET";
>           ZIPCODE = "address.ZIPCODE";
>           CITY = "address.CITY";
>           PHONE = "address.PHONE";
>           PHONE2 = "address.PHONE2";
>           COUNTRY = "address.COUNTRY";
>           STATE = "address.STATE";
>           FAX = "address.FAX";
>           EMAIL = "address.EMAIL";
>    ....
> but this variables should be for example "address.email".
> The AddressMapBuilder.doBuild() method creates the same uppercase mapping:
>   public void doBuild() throws TorqueException {
> ...
>     dbMap.addTable("address");
>     TableMap tMap = dbMap.getTable("address");
>     tMap.setPrimaryKeyMethod("none");
>     tMap.addPrimaryKey("address.CLASS", "" );
>     tMap.addPrimaryKey("address.ID", "" );
>     tMap.addPrimaryKey("address.POSITION", new Integer(0) );
>     tMap.addColumn("address.NAME1", "", 50 );
>     tMap.addColumn("address.NAME2", "", 50 );
>     tMap.addColumn("address.NAME3", "", 50 );
>     tMap.addColumn("address.STREET", "", 50 );
>     tMap.addColumn("address.ZIPCODE", "", 25 );
>     tMap.addColumn("address.CITY", "", 60 );
>     tMap.addColumn("address.PHONE", "", 40 );
>     tMap.addColumn("address.PHONE2", "", 40 );
>     tMap.addColumn("address.COUNTRY", "", 200 );
>     tMap.addColumn("address.STATE", "", 200 );
>     tMap.addColumn("address.FAX", "", 40 );
>     tMap.addColumn("address.EMAIL", "", 150 );
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscribe@db.apache.org
For additional commands, e-mail: torque-dev-help@db.apache.org