[ 
https://issues.apache.org/jira/browse/HBASE-765?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jean-Daniel Cryans updated HBASE-765:
-------------------------------------

    Fix Version/s:     (was: 0.1.4)
                       (was: 0.2.0)

Removed 0.2.0 and 0.1.4 since we have a feature freeze for 0.2.0 and I don't 
think we'll see a 0.1.4

> Adding basic Spring support to IndexConfiguration class.
> --------------------------------------------------------
>
>                 Key: HBASE-765
>                 URL: https://issues.apache.org/jira/browse/HBASE-765
>             Project: Hadoop HBase
>          Issue Type: Improvement
>          Components: mapred
>    Affects Versions: 0.16.0, 0.1.0, 0.1.1, 0.1.2, 0.1.3
>         Environment: n/a
>            Reporter: Ryan Smith
>             Fix For: 0.2.1, 0.3.0
>
>   Original Estimate: 0.33h
>  Remaining Estimate: 0.33h
>
> Spring can configure classes/object graphs via xml.  I am pretty much able to 
> configure the entire MR object graph to launch MR jobs via spring except 
> class IndexConfiguration.java. So instead of only using addFromXML() to 
> configure IndexConfiguration, it would be nice to add support so Spring could 
> set all class variables needed for initialization in IndexConfiguration 
> without invoking addFromXML().  
> Since the class IndexConfiguration already has setters and getters for almost 
> all its members, it's almost compliant for a spring configuration bean except 
> one issue: no ability to configure columnMap outside of calling addFromXML(). 
>  The easiest way i can figure is to allow a setter for the column map and put 
> any logic for checking the map integrity there.  By adding these 2 methods to 
> IndexConfiguration.java , it should solve the issue.
>       public void setColumnConfs(List<ColumnConf> columnConfList) {
>               setColumnConfs(columnConfList, true);
>       }
>       
>       public void setColumnConfs(List<ColumnConf> columnConfList, boolean 
> override) {
>               for (ColumnConf columnConf: columnConfList) {
>                       if (columnConf.getProperty(HBASE_COLUMN_NAME) != null) {
>                               if 
> (getColumnMap().containsKey(columnConf.getProperty(HBASE_COLUMN_NAME)) ) {
>                                       if (override) {
>                                               log.info("overwriting an 
> exisitng column name map.");
>                                               
> this.columnMap.put(columnConf.getProperty(HBASE_COLUMN_NAME), columnConf);
>                                       }
>                               } else {
>                                       log.info("adding columnConf for: " + 
> columnConf.getProperty(HBASE_COLUMN_NAME));
>                               
> this.columnMap.put(columnConf.getProperty(HBASE_COLUMN_NAME), columnConf);
>                               }
>                   } else {
>                       log.warn("bad column conf: name not specified");
>                   }
>               }
>       }
> We could possibly also have addFromXML() reference these new methods to add 
> config to columnMap or refactor out logic into another method so addFromXML 
> and setColumnConfs share the same logic.
> Ive never submitted a patch via JIRA before so if i need to do something 
> else, please met me know.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to