1. Project Clover database Tue Dec 20 2016 21:24:09 CET
  2. Package org.xwiki.search.solr.internal.metadata

File LengthSolrInputDocument.java

 

Coverage histogram

../../../../../../img/srcFileCovDistChart9.png
38% of files have more coverage

Code metrics

4
6
2
1
63
21
4
0.67
3
2
2

Classes

Class Line # Actions
LengthSolrInputDocument 30 6 0% 4 2
0.833333383.3%
 

Contributing tests

This file is covered by 13 tests. .

Source view

1    /*
2    * See the NOTICE file distributed with this work for additional
3    * information regarding copyright ownership.
4    *
5    * This is free software; you can redistribute it and/or modify it
6    * under the terms of the GNU Lesser General Public License as
7    * published by the Free Software Foundation; either version 2.1 of
8    * the License, or (at your option) any later version.
9    *
10    * This software is distributed in the hope that it will be useful,
11    * but WITHOUT ANY WARRANTY; without even the implied warranty of
12    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13    * Lesser General Public License for more details.
14    *
15    * You should have received a copy of the GNU Lesser General Public
16    * License along with this software; if not, write to the Free
17    * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
18    * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
19    */
20    package org.xwiki.search.solr.internal.metadata;
21   
22    import org.apache.solr.common.SolrInputDocument;
23   
24    /**
25    * Extended SolrInputDocument with calculated size.
26    *
27    * @version $Id: 95b36d2ac08e9ade6ef2397a8aadc41f33970852 $
28    * @since 5.1M2
29    */
 
30    public class LengthSolrInputDocument extends SolrInputDocument
31    {
32    /**
33    * Serialization identifier.
34    */
35    private static final long serialVersionUID = 1L;
36   
37    /**
38    * @see #getLength()
39    */
40    private int length;
41   
42    /**
43    * @return the length (generally the number of characters). It's not the exact byte length, it's more a scale value.
44    */
 
45  4031 toggle public int getLength()
46    {
47  4031 return this.length;
48    }
49   
 
50  95173 toggle @Override
51    public void setField(String name, Object value, float boost)
52    {
53  95173 super.setField(name, value, boost);
54   
55  95173 if (value instanceof String) {
56  78723 this.length += ((String) value).length();
57  16450 } else if (value instanceof byte[]) {
58  0 this.length += ((byte[]) value).length;
59    }
60   
61    // TODO: support more type ?
62    }
63    }