source: SRUAggregator/trunk/src/main/java/eu/clarin/sru/fcs/aggregator/search/AdvancedLayer.java @ 7149

Last change on this file since 7149 was 7149, checked in by Leif-Jöran, 7 years ago

Upgrading commons.lang 2.4->3.6 now commons.lang3

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.0 KB
Line 
1/**
2 *
3 * @license http://www.gnu.org/licenses/gpl-3.0.txt
4 *  GNU General Public License v3
5 */
6package eu.clarin.sru.fcs.aggregator.search;
7
8import eu.clarin.sru.client.fcs.DataViewAdvanced;
9import eu.clarin.sru.client.fcs.DataViewAdvanced.Layer;
10import eu.clarin.sru.client.fcs.DataViewAdvanced.Segment;
11import eu.clarin.sru.fcs.aggregator.app.Aggregator;
12import eu.clarin.sru.fcs.aggregator.util.LanguagesISO693;
13import java.util.ArrayList;
14import java.util.List;
15import org.apache.commons.lang3.StringEscapeUtils;
16
17/**
18 * Represents an ADV layer and information about its PID and
19 * reference.
20 *
21 * @author ljo
22 */
23public class AdvancedLayer {
24
25    public static class Span {
26
27        String text;
28        String ref;
29        boolean isHit;
30        DataViewAdvanced.Segment segment;
31
32
33        public Span(String text, String ref, boolean isHit, DataViewAdvanced.Segment segment) {
34            this.text = text;
35            this.ref = ref;
36            this.isHit = isHit;
37            this.segment = segment;
38        }
39
40        public String getText() {
41            return text;
42        }
43
44        public boolean isHit() {
45            return isHit;
46        }
47
48        @Override
49        public String toString() {
50            return (isHit ? "[" : "") + text + (isHit ? "]" : "");
51        }
52    }
53
54   
55    private DataViewAdvanced.Layer layer;
56    private String pid;
57    private String reference;
58    private String language;
59    private List<Span> spans = new ArrayList<Span>();
60
61    public AdvancedLayer(DataViewAdvanced.Layer layer, String pid, String reference) {
62        this.layer = layer;
63        this.pid = pid;
64        this.reference = layer.getId();
65
66
67        for (DataViewAdvanced.Span span : layer.getSpans()) {
68            //String text = StringEscapeUtils.unescapeXml(str.substring(lastOffset, offsets[0]));
69            spans.add(new Span(span.getContent(), reference, ("".equals(span.getHighlight()) || span.getHighlight() == null) ? false : true, span.getSegment()));
70        }
71    }
72
73    public List<Span> getSpans() {
74        return spans;
75    }
76
77    public String getPid() {
78        return pid;
79    }
80
81    public String getReference() {
82        return reference;
83    }
84
85    public String getLanguage() {
86        return language;
87    }
88
89}
Note: See TracBrowser for help on using the repository browser.