[ 
http://jira.qos.ch/browse/LBCLASSIC-188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=11637#action_11637
 ] 

Ceki Gulcu commented on LBCLASSIC-188:
--------------------------------------

I just pulled in git://github.com/nurkiewicz/logback.git. Cool.  The tests 
using hsqldb pass which is nice. However, for other databases the tests are 
active on one particular machine called Orion which I currently can't access. 
I'll run the integration test later on.

Coming back to the contribution itself, I think it would be preferable to 
reduce DBNameResolver to something like:


public interface DBNameResolver {
  <E extends Enum<?>> String getTableName(E e);
  <E extends Enum<?>> String getColumnName(E e);
}

This way you can still invoke methods using enums (without converting to 
string). Moreover, a single enum could work for all column and table names. 
WDYT?

> Make table and column names overridable
> ---------------------------------------
>
>                 Key: LBCLASSIC-188
>                 URL: http://jira.qos.ch/browse/LBCLASSIC-188
>             Project: logback-classic
>          Issue Type: Sub-task
>          Components: appender
>    Affects Versions: 0.9.18
>            Reporter: Ceki Gulcu
>            Assignee: Logback dev list
>
> To comply with local project rules, it can be helpful if the table and column 
> names used by DBAppender could be overridden. The easiest way to solve this 
> problem is for  DBAppender  to delegate the resolution of table names and 
> columns to a different class, say DBNameResolver. Here is a possible 
> interface:
> interface DBNameResolver {
>   String getTableName(String standardTableName);
>   String getColumnName(String standardColumnName);
> }
> The default implementation of DBNameResolver could be:
> class DefaulDBNameResolver implements DBNameResolver {
>   public String getTableName(String standardTableName) {
>     if("logging_event".equals(standardTableName) {
>       return standardTableName;
>     }
>     if("logging_event_property".equals(standardTableName) {
>       return standardTableName;
>     }
>     if("logging_event_exception".equals(standardTableName) {
>       return standardTableName;
>     }
>     throw new IllegalArgumentException(standardTableName + " is an unknown 
> table name");
>   }
>   String getColumnName(String standardColumnName) {
>      ...
>   }
> }
> If a user wanted to use different names she would simply implement 
> DBNameResolver according to her requirements.
> Any volunteers to implement this?

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

        
_______________________________________________
logback-dev mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-dev

Reply via email to