diff options
| author | krasimir <krasimir@chalmers.se> | 2016-05-20 15:20:02 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2016-05-20 15:20:02 +0000 |
| commit | fdf4bd3196030fdc9d5103e7ae961171a4f65bc4 (patch) | |
| tree | 005760864fb9a31b7d8195b5ed4073c6a551a60e /src/runtime/java | |
| parent | 1a0defc0fc98cfb312fc0107d2fef56a2ee593e8 (diff) | |
change the API for literals in Java and Python. The input sentence is no longer a parameter to the callbacks.
Diffstat (limited to 'src/runtime/java')
4 files changed, 11 insertions, 8 deletions
diff --git a/src/runtime/java/jpgf.c b/src/runtime/java/jpgf.c index c64854eb8..627727c15 100644 --- a/src/runtime/java/jpgf.c +++ b/src/runtime/java/jpgf.c @@ -422,9 +422,8 @@ jpgf_literal_callback_match(PgfLiteralCallback* self, PgfConcr* concr, JNIEnv *env; (*cachedJVM)->AttachCurrentThread(cachedJVM, (void**)&env, NULL); - jstring jsentence = gu2j_string(env, sentence); size_t joffset = gu2j_string_offset(sentence, *poffset); - jobject result = (*env)->CallObjectMethod(env, callback->jcallback, callback->match_methodId, lin_idx, jsentence, joffset); + jobject result = (*env)->CallObjectMethod(env, callback->jcallback, callback->match_methodId, lin_idx, joffset); if (result == NULL) return NULL; @@ -539,7 +538,7 @@ JNIEXPORT void JNICALL Java_org_grammaticalframework_pgf_Parser_addLiteralCallba callback->fin.fn = jpgf_literal_callback_fin; jclass callback_class = (*env)->GetObjectClass(env, jcallback); - callback->match_methodId = (*env)->GetMethodID(env, callback_class, "match", "(ILjava/lang/String;I)Lorg/grammaticalframework/pgf/LiteralCallback$CallbackResult;"); + callback->match_methodId = (*env)->GetMethodID(env, callback_class, "match", "(II)Lorg/grammaticalframework/pgf/LiteralCallback$CallbackResult;"); callback->predict_methodId = (*env)->GetMethodID(env, callback_class, "predict", "(ILjava/lang/String;)Ljava/util/Iterator;"); gu_pool_finally(pool, &callback->fin); diff --git a/src/runtime/java/org/grammaticalframework/pgf/LiteralCallback.java b/src/runtime/java/org/grammaticalframework/pgf/LiteralCallback.java index 106b528e6..6c6b657e5 100644 --- a/src/runtime/java/org/grammaticalframework/pgf/LiteralCallback.java +++ b/src/runtime/java/org/grammaticalframework/pgf/LiteralCallback.java @@ -3,7 +3,7 @@ package org.grammaticalframework.pgf; import java.util.Iterator; public interface LiteralCallback { - public CallbackResult match(int lin_idx, String sentence, int start_offset); + public CallbackResult match(int lin_idx, int start_offset); public Iterator<TokenProb> predict(int lin_idx, String prefix); diff --git a/src/runtime/java/org/grammaticalframework/pgf/NercLiteralCallback.java b/src/runtime/java/org/grammaticalframework/pgf/NercLiteralCallback.java index 1d5491f64..f5375a70a 100644 --- a/src/runtime/java/org/grammaticalframework/pgf/NercLiteralCallback.java +++ b/src/runtime/java/org/grammaticalframework/pgf/NercLiteralCallback.java @@ -11,13 +11,15 @@ import java.util.Iterator; public class NercLiteralCallback implements LiteralCallback { private PGF pgf; private Concr concr; + private String sentence; - public NercLiteralCallback(PGF pgf, Concr concr) { + public NercLiteralCallback(PGF pgf, Concr concr, String sentence) { this.pgf = pgf; this.concr = concr; + this.sentence = sentence; } - public CallbackResult match(int lin_idx, String sentence, int offset) { + public CallbackResult match(int lin_idx, int offset) { StringBuilder sbuilder = new StringBuilder(); int i = 0; diff --git a/src/runtime/java/org/grammaticalframework/pgf/UnknownLiteralCallback.java b/src/runtime/java/org/grammaticalframework/pgf/UnknownLiteralCallback.java index 7d4209aad..d8e865db7 100644 --- a/src/runtime/java/org/grammaticalframework/pgf/UnknownLiteralCallback.java +++ b/src/runtime/java/org/grammaticalframework/pgf/UnknownLiteralCallback.java @@ -8,12 +8,14 @@ import java.util.Iterator; */ public class UnknownLiteralCallback implements LiteralCallback { private Concr concr; + private String sentence; - public UnknownLiteralCallback(Concr concr) { + public UnknownLiteralCallback(Concr concr, String sentence) { this.concr = concr; + this.sentence = sentence; } - public CallbackResult match(int lin_idx, String sentence, int offset) { + public CallbackResult match(int lin_idx, int offset) { if (offset < sentence.length() && !Character.isUpperCase(sentence.charAt(offset))) { int start_offset = offset; |
