lucene-solr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uri Boness (JIRA)" <j...@apache.org>
Subject [jira] Commented: (SOLR-1644) Provide a clean way to keep flags and helper objects in ResponseBuilder
Date Sun, 13 Dec 2009 18:13:18 GMT

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


Mime
View raw message