Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 396D3200ACB for ; Sun, 29 May 2016 17:55:15 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 37AF8160A07; Sun, 29 May 2016 15:55:15 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 7E23816099F for ; Sun, 29 May 2016 17:55:14 +0200 (CEST) Received: (qmail 51647 invoked by uid 500); 29 May 2016 15:55:13 -0000 Mailing-List: contact dev-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@lucene.apache.org Delivered-To: mailing list dev@lucene.apache.org Received: (qmail 51628 invoked by uid 99); 29 May 2016 15:55:13 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 29 May 2016 15:55:13 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 0EA462C1F5D for ; Sun, 29 May 2016 15:55:13 +0000 (UTC) Date: Sun, 29 May 2016 15:55:13 +0000 (UTC) From: "Dennis Gove (JIRA)" To: dev@lucene.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (SOLR-9171) Umbrella ticket for refactoring solrj.io.* classes MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Sun, 29 May 2016 15:55:15 -0000 Dennis Gove created SOLR-9171: --------------------------------- Summary: Umbrella ticket for refactoring solrj.io.* classes Key: SOLR-9171 URL: https://issues.apache.org/jira/browse/SOLR-9171 Project: Solr Issue Type: Task Components: SolrJ Reporter: Dennis Gove The Streaming API is gaining more and more features and i believe there are a few places where we can cleanup the core codebase to improve the code of those new features. While the Streaming API is still listed experimental I'd like to take the opportunity to make these changes. This ticket is intended to act as a umbrella for the various patches I'd like to apply. Due to the core nature within solrj.io of the classes I'd like to change each patch may touch quite a few classes but a goal will be to limit each patch to a singular type of change. A few of the changes I have in mind: 1. Refactor/rename some methods in stream.expr.StreamFactory to make them easier to understand and work with. Also add documentation to the public functions. This includes a changing of some function signatures. 2. Rename the package io.comp to io.sort because while the classes in here use Java's Comparator interface they are really just sorters. Also rename classes to indicate sorting. (I'm not married to this idea but I think the name change would be beneficial) 3. Collapse the MultipleFieldComparator and FieldComparator into a single class that can handle both single and multiple field sorting. There are places where we have to check which kind of comparator something is and I think this can be simplified into a single class handling both types. 4. Per a comment in io.eq.Equalitor, Java 8 has an interface called BiPredicate which can fully replace the Equalitor interface. Given that we're now fully on Java 8 I believe we can get rid of the Equalitor interface in favor of BiPredicate. 5. Collapse FieldEqualitor and MultipleFieldEqualitor into a single class (same reasoning as with the Sorters). 6. Remove the need for a special StreamExpressionNamedParameter class. A parameter could just have a name - we don't need a special class for that concept. I'm open for discussion on any and all of these suggested changes. The only one that I feel is *critically* important is the the first one, Refactor/rename some methods in stream.expr.StreamFactory, but if we're gonna go down this path I think this would be a good time to make the other changes as well. [~joel.bernstein], [~risdenk], [~caomanhdat], I'm interested in your thoughts on this. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional commands, e-mail: dev-help@lucene.apache.org