[ https://issues.apache.org/jira/browse/SOLR-1644?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12789920#action_12789920 ]
Uri Boness commented on SOLR-1644: ---------------------------------- bq. if (rb.store.get(HighlightingComponent.DO_HIGHLIGHTING) == Boolean.TRUE) This is verbose... too verbose to my taste. I believe a Store interface can help here which provide access to data by a key and will also provide helper methods to keep the code clean. (a MapStore can be a simple implementation which wraps a Map<String, Object> instance): {code} public interface Context { Boolean getBoolean(String key); boolean getBoolean(String key, boolean defaultValue); Integer getInt(String key); int getInt(String key, int defaultValue); //other methods for all primitive types and dates. } {code} so now you have: {code} if (rb.store.getBoolean(HighlightingComponent.DO_HIGHLIGHTING, false)) {code} which is cleaner and is NPE-safe. bq. I believe the public API's should have no dependency on components . I agree. Basically avoid having circular dependencies. You don't want to change the platform API every time you introduce a new component. > Provide a clean way to keep flags and helper objects in ResponseBuilder > ----------------------------------------------------------------------- > > Key: SOLR-1644 > URL: https://issues.apache.org/jira/browse/SOLR-1644 > Project: Solr > Issue Type: Improvement > Components: search > Reporter: Shalin Shekhar Mangar > Assignee: Shalin Shekhar Mangar > Fix For: 1.5 > > Attachments: SOLR-1644.patch > > > Many components such as StatsComponent, FacetComponent etc keep flags and > helper objects in ResponseBuilder. Having to modify the ResponseBuilder for > such things is a very kludgy solution. > Let us provide a clean way for components to keep arbitrary objects for the > duration of a (distributed) search request. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.