Changeset 5047


Ignore:
Timestamp:
04/24/14 12:08:56 (10 years ago)
Author:
Twan Goosen
Message:

javadoc and some minor refactoring

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/provider/DocumentFieldsProvider.java

    r5046 r5047  
    4747     * @param documentModel model that has the document containing the fields
    4848     * @param fieldFilter filter that decides which fields are included
    49      * @param fieldOrder list of field names that determine the order
     49     * @param fieldOrder list of field names that determine the order.
     50     * <strong>Notice:</strong> this has to be a <em>superset</em> of the fields
     51     * that may be present in the {@link SolrDocument}. If it is not, runtime
     52     * exceptions may occur when requesting the size or iterator; see {@link Ordering#explicit(java.util.List)
     53     * }. It may also be null, in which case no ordering is applied.
    5054     */
    5155    public DocumentFieldsProvider(IModel<SolrDocument> documentModel, FieldFilter fieldFilter, List<String> fieldOrder) {
     
    6771        }
    6872
    69         if (fieldOrder == null) {
     73        final Ordering<DocumentField> fieldOrdering = getFieldOrdering();
     74        if (fieldOrdering == null) {
    7075            return fields;
    7176        } else {
    72             return getFieldOrdering().sortedCopy(fields);
     77            return fieldOrdering.sortedCopy(fields);
    7378        }
    7479    }
     
    7984     * is not serializable
    8085     *
    81      * @return ordering for document fields
     86     * @return ordering for document fields, or null if no ordering has been
     87     * specified
    8288     */
    8389    private Ordering<DocumentField> getFieldOrdering() {
    84         final Ordering<DocumentField> fieldOrdering = Ordering.explicit(fieldOrder).onResultOf(new Function<DocumentField, String>() {
     90        if (fieldOrder == null) {
     91            return null;
     92        } else {
     93            final Ordering<DocumentField> fieldOrdering = Ordering.explicit(fieldOrder).onResultOf(new Function<DocumentField, String>() {
    8594
    86             @Override
    87             public String apply(DocumentField input) {
    88                 return input.getFieldName();
    89             }
    90         });
    91         return fieldOrdering;
     95                @Override
     96                public String apply(DocumentField input) {
     97                    return input.getFieldName();
     98                }
     99            });
     100            return fieldOrdering;
     101        }
    92102    }
    93103
Note: See TracChangeset for help on using the changeset viewer.