[prev in list] [next in list] [prev in thread] [next in thread] 

List:       turbine-torque-dev
Subject:    [jira] [Issue Comment Edited] (TORQUE-168) Use Objects instead of
From:       "Thomas Fox (Issue Comment Edited) (JIRA)" <jira () apache ! org>
Date:       2011-10-06 0:02:29
Message-ID: 281876331.1507.1317859349905.JavaMail.tomcat () hel ! zones ! apache ! org
[Download RAW message or body]


    [ https://issues.apache.org/jira/browse/TORQUE-168?page=com.atlassian.jira.plugin. \
system.issuetabpanels:comment-tabpanel&focusedCommentId=13117279#comment-13117279 ] 

Thomas Fox edited comment on TORQUE-168 at 10/6/11 12:01 AM:
-------------------------------------------------------------

Implementation plan:
- create an interface Column with the methods getColumnName(), getTableName() and \
                getSqlExpression()
- replace all occurances where String column names are used by the column interface. \
This will e.g. be the add, and, or ... methods in Criteria, the key in the \
                ColumnValues object.
- make ColumnMap implement the Column interface. This is straightforward, the default \
                schema name can be retrieved from database.getSchema()
- create a simple implementation of the Column interface with the needed getters and \
corresponding setters. This can be used if users want to create their own Column \
instance.

The question remains open how to access the correct ColumnMap instances from the peer \
classes to fill the column constants.  
      was (Author: tfischer):
    Implementation plan:
- create an interface Column with the methods getColumnName(), getTebleName(), \
                getSchemaName() and getSqlExpression()
- replace all occurances where String column names are used by the column interface. \
This will e.g. be the add, and, or ... methods in Criteria, the key in the \
                ColumnValues object.
- make ColumnMap implement the Column interface. This is straightforward, the default \
                schema name can be retrieved from database.getSchema()
- create a simple implementation of the Column interface with the needed getters and \
corresponding setters. This can be used if users want to create their own Column \
instance.

The question remains open how to access the correct ColumnMap instances from the peer \
classes to fill the column constants.  
> Use Objects instead of Strings for Column constants in Peers and Criteria
> -------------------------------------------------------------------------
> 
> Key: TORQUE-168
> URL: https://issues.apache.org/jira/browse/TORQUE-168
> Project: Torque
> Issue Type: Improvement
> Reporter: Thomas Fox
> Fix For: 4.0
> 
> 
> Currently, column constants in Peers are Strings, and Criterias are constructed by \
> using String column names. This means that code to parse column information \
> (remove/add database/schema name, table name, remove SQL functions etc) is \
> distributed across the code which is not very maintainable. Instead, column \
>                 constants should be objects, which hold at least the following \
>                 information
> - unqualified column name
> - table name (or reference to table)
> - database/schema name, if any, or reference to default database/schema name, if \
>                 any
> - sql expression (in case it is different from \
> [database/schema.]tableName.columnName, e.g. "cast id as varchar2(30)" in oracle) \
> There should be a constructor taking a string input, which then tries to parse the \
> given tsring and extract the above information from the string.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: \
https://issues.apache.org/jira/secure/ContactAdministrators!default.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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic