blob: 7b3253a915e7a4ab670d730340c35ea27aae6cec [file] [log] [blame]
margaretha9ebbb252017-11-23 16:40:08 +01001package de.ids_mannheim.korap.sru;
margaretha3925c7a2016-02-24 11:20:49 +00002
margaretha4a5f1c22016-08-03 17:34:32 +02003import java.util.ArrayList;
4import java.util.List;
margarethaab24b652016-08-08 18:58:48 +02005import java.util.regex.Matcher;
6import java.util.regex.Pattern;
margaretha4a5f1c22016-08-03 17:34:32 +02007
margaretha3925c7a2016-02-24 11:20:49 +00008import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
margaretha4ec2cd32016-02-29 09:46:36 +00009import com.fasterxml.jackson.annotation.JsonProperty;
margaretha3925c7a2016-02-24 11:20:49 +000010
11@JsonIgnoreProperties(ignoreUnknown = true)
12public class KorapMatch {
margaretha3925c7a2016-02-24 11:20:49 +000013
margarethaab24b652016-08-08 18:58:48 +020014 private String matchID;
15 private String positionId;
16 private String docId;
Eliza Margarethae0e40a32016-11-09 19:16:08 +010017 private String textId;
margarethaab24b652016-08-08 18:58:48 +020018 private String corpusId;
margaretha4a5f1c22016-08-03 17:34:32 +020019 private String leftContext;
20 private String keyword;
21 private String rightContext;
22 private String snippet;
23 private String text;
margaretha3925c7a2016-02-24 11:20:49 +000024
margaretha4a5f1c22016-08-03 17:34:32 +020025 private List<AnnotationLayer> annotationLayers = new ArrayList<AnnotationLayer>();
margarethaab24b652016-08-08 18:58:48 +020026
Eliza Margarethae0e40a32016-11-09 19:16:08 +010027 private static Pattern idPattern = Pattern.compile("match-(.*)/(.*)/(.*)-p([0-9]+-[0-9]+)");
margaretha3925c7a2016-02-24 11:20:49 +000028
margaretha4a5f1c22016-08-03 17:34:32 +020029 public KorapMatch () {}
margarethaab24b652016-08-08 18:58:48 +020030
31 @JsonProperty("matchID")
32 public String getMatchId() {
33 return matchID;
margaretha4a5f1c22016-08-03 17:34:32 +020034 }
margaretha3925c7a2016-02-24 11:20:49 +000035
margarethaab24b652016-08-08 18:58:48 +020036 public void setMatchId(String id) {
37 this.matchID = id;
38 }
39
40 public void parseMatchId(){
41 Matcher matcher = idPattern.matcher(matchID);
42 if (matcher.find()){
43 this.corpusId = matcher.group(1);
44 this.docId = matcher.group(2);
Eliza Margarethae0e40a32016-11-09 19:16:08 +010045 this.setTextId(matcher.group(3));
46 this.positionId = "p"+matcher.group(4);
margarethaab24b652016-08-08 18:58:48 +020047 }
48 }
49
50 public void setPositionId(String positionId) {
51 this.positionId = positionId;
margaretha4a5f1c22016-08-03 17:34:32 +020052 }
margaretha3925c7a2016-02-24 11:20:49 +000053
margarethaab24b652016-08-08 18:58:48 +020054 public String getPositionId() {
55 return positionId;
margaretha4a5f1c22016-08-03 17:34:32 +020056 }
margaretha3925c7a2016-02-24 11:20:49 +000057
Eliza Margarethae0e40a32016-11-09 19:16:08 +010058 public String getTextId () {
59 return textId;
60 }
61
62 public void setTextId (String textId) {
63 this.textId = textId;
64 }
65
margarethaab24b652016-08-08 18:58:48 +020066 public String getDocId() {
67 return docId;
margaretha4a5f1c22016-08-03 17:34:32 +020068 }
margaretha3925c7a2016-02-24 11:20:49 +000069
margarethaab24b652016-08-08 18:58:48 +020070 public void setDocId(String docID) {
Eliza Margarethae0e40a32016-11-09 19:16:08 +010071 this.docId = docID;
margaretha4a5f1c22016-08-03 17:34:32 +020072 }
margaretha3925c7a2016-02-24 11:20:49 +000073
margarethaab24b652016-08-08 18:58:48 +020074 public String getCorpusId() {
75 return corpusId;
margaretha4a5f1c22016-08-03 17:34:32 +020076 }
margaretha3925c7a2016-02-24 11:20:49 +000077
margarethaab24b652016-08-08 18:58:48 +020078 public void setCorpusId(String corpusId) {
79 this.corpusId = corpusId;
margaretha4a5f1c22016-08-03 17:34:32 +020080 }
margaretha4ec2cd32016-02-29 09:46:36 +000081
margaretha4a5f1c22016-08-03 17:34:32 +020082 public String getLeftContext() {
83 return leftContext;
84 }
margaretha4ec2cd32016-02-29 09:46:36 +000085
margaretha4a5f1c22016-08-03 17:34:32 +020086 public String getKeyword() {
87 return keyword;
88 }
89
90 public String getRightContext() {
91 return rightContext;
92 }
93
94 public void setLeftContext(String leftContext) {
95 this.leftContext = leftContext;
96 }
97
98 public void setKeyword(String keyword) {
99 this.keyword = keyword;
100 }
101
102 public void setRightContext(String rightContext) {
103 this.rightContext = rightContext;
104 }
105
106 public String getSnippet() {
107 return snippet;
108 }
109
110 public void setSnippet(String snippet) {
111 this.snippet = snippet;
112 }
113
114 public String getText() {
115 return text;
116 }
117
118 public void setText(String text) {
119 this.text = text;
120 }
121
122 public List<AnnotationLayer> getAnnotationLayers() {
123 return annotationLayers;
124 }
125
126 public void setAnnotationLayers(List<AnnotationLayer> annotationLayers) {
127 this.annotationLayers = annotationLayers;
128 }
margaretha3925c7a2016-02-24 11:20:49 +0000129
130}