[ 
https://issues.apache.org/jira/browse/LUCENE-4659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13544115#comment-13544115
 ] 

Shai Erera commented on LUCENE-4659:
------------------------------------

I've actually made more progress, and now CP is completely immutable and 
manages inside a String[] with start/end offsets. I think that I just need an 
end offset, but nm that for now.

What fails for me is CompactLabelToOrdinalTest, I'm not sure why. From the 
debugging sessions I've done so far, it may be related to hash computation, 
even though I reviewed the changes and I think that I was consistent. Anyway, 
want to debug it more before I'll post another patch.

I've kept trim() because it's used in DrillDownStream, but it returns a new 
CategoryPath. And I've kept add() because it is convenient for tests, but it 
also returns a new CategoryPath.

Hopefully my next update will include the fix for this test. All other tests 
pass.
                
> Cleanup CategoryPath
> --------------------
>
>                 Key: LUCENE-4659
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4659
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: modules/facet
>            Reporter: Shai Erera
>            Assignee: Shai Erera
>         Attachments: LUCENE-4659.patch
>
>
> CategoryPath is supposed to be a simple object which holds a category path's 
> components, and offers some utility methods that can be used during indexing 
> and search.
> Currently, it exposes lots of methods which aren't used, unless by tests - I 
> want to get rid of them. Also, the internal implementation manages 3 char[] 
> for holding the path components, while I think it would have been simpler if 
> it maintained a String[]. I'd like to explore that option too (the input is 
> anyway String, so why copy char[]?).
> Ultimately, I'd like CategoryPath to be immutable. I was able to get rid most 
> of the mutable methods. The ones that remain will probably go away when I 
> move from char[] to String[]. Immuntability is important because in various 
> places in the code we convert a CategoryPath back and forth to String, with 
> TODOs to stop doing that if CP was immutable.
> Will attach a patch that covers the first step - get rid of unneeded methods 
> and beginning to make it immutable.
> Perhaps this can be done in multiple commits?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to