[
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.