blob: e4f134a2d03a9c15dca448fed6dae92119084d0f [file] [log] [blame]
Michael Hanl72c7b832015-09-03 08:42:15 +02001package de.ids_mannheim.korap.resource.rewrite;
2
3import com.fasterxml.jackson.databind.JsonNode;
Michael Hanldaf86602016-05-12 14:31:52 +02004import de.ids_mannheim.korap.config.BeanInjectable;
Michael Hanl59bff812015-10-27 23:10:32 +01005import de.ids_mannheim.korap.config.KustvaktConfiguration;
6import de.ids_mannheim.korap.user.User;
Michael Hanl72c7b832015-09-03 08:42:15 +02007
8/**
9 * #ELEM(W ANA=N)
10 * <p/>
11 * {
Michael Hanl8abaf9e2016-05-23 16:46:35 +020012 * "@context":
13 * "http://korap.ids-mannheim.de/ns/koral/0.3/context.jsonld",
Michael Hanl72c7b832015-09-03 08:42:15 +020014 * "errors": [],
15 * "warnings": [],
16 * "messages": [],
17 * "collection": {},
18 * "query": {
19 * "@type": "koral:span",
20 * "key": "w",
21 * "attr": {
22 * "@type": "koral:term",
23 * "layer": "p",
24 * "key": "N",
25 * "match": "match:eq"
26 * }
27 * },
28 * "meta": {}
29 * }
30 * <p/>
31 * <p/>
32 * email reference:
33 * Hallo Michael,
Michael Hanl8abaf9e2016-05-23 16:46:35 +020034 * mir fiel gestern bei der neuen KoralQuery Serialisierung noch ein
35 * Fall
36 * für default-Werte ein, die zumindest für viele Beispiele, die wir
37 * haben,
38 * relevant ist: Wenn ein koral:term in einem koral:span gewrappt ist,
39 * dann
40 * kann er eventuell nur einen Schlüssel haben ("s" oder "p" von "<s>"
41 * oder
42 * "<p>". In diesem Fall wäre der default layer "s" und die default
43 * foundry
Michael Hanl72c7b832015-09-03 08:42:15 +020044 * "base". (Im alten KoralQuery wurden spans nicht gewrappt - der Fall
45 * sollte aber erstmal weiter unterstützt werden.)
46 * Viele Grüße,
47 * Nils
Michael Hanl8abaf9e2016-05-23 16:46:35 +020048 *
Michael Hanl72c7b832015-09-03 08:42:15 +020049 * @author hanl
50 * @date 02/07/2015
51 */
Michael Hanl8abaf9e2016-05-23 16:46:35 +020052public class TreeConstraint implements RewriteTask.RewriteNodeAt {
Michael Hanl72c7b832015-09-03 08:42:15 +020053
54 private String pointer;
55
Michael Hanl8abaf9e2016-05-23 16:46:35 +020056
57 public TreeConstraint () {
Michael Hanl59bff812015-10-27 23:10:32 +010058 super();
Michael Hanl72c7b832015-09-03 08:42:15 +020059 }
60
Michael Hanl8abaf9e2016-05-23 16:46:35 +020061
Michael Hanl72c7b832015-09-03 08:42:15 +020062 @Override
Michael Hanl8abaf9e2016-05-23 16:46:35 +020063 public JsonNode preProcess (KoralNode node, KustvaktConfiguration config,
Michael Hanl59bff812015-10-27 23:10:32 +010064 User user) {
Michael Hanl72c7b832015-09-03 08:42:15 +020065 System.out.println("FIND PATH " + node.rawNode().findParent(pointer));
66
67 return node.rawNode();
68 }
Michael Hanlf0785322015-11-13 16:14:45 +010069
Michael Hanl8abaf9e2016-05-23 16:46:35 +020070
Michael Hanlf0785322015-11-13 16:14:45 +010071 @Override
Michael Hanl8abaf9e2016-05-23 16:46:35 +020072 public JsonNode postProcess (KoralNode node) {
Michael Hanlf0785322015-11-13 16:14:45 +010073 return null;
74 }
Michael Hanl022543e2015-11-17 21:25:25 +010075
Michael Hanl8abaf9e2016-05-23 16:46:35 +020076
Michael Hanl022543e2015-11-17 21:25:25 +010077 @Override
Michael Hanl8abaf9e2016-05-23 16:46:35 +020078 public String at () {
Michael Hanl022543e2015-11-17 21:25:25 +010079 return null;
80 }
Michael Hanl72c7b832015-09-03 08:42:15 +020081}