Changeset 4212 for trunk/indexers/mgpp


Ignore:
Timestamp:
2003-05-01T12:02:40+12:00 (21 years ago)
Author:
kjdon
Message:

mgpp parseQuery returns NULL if theres been a syntax error, the jni stuff sets a syntaxError variable in MGPPQueryResult to true. also fixed some stuff left over from teh basedir change in teh cpp code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/indexers/mgpp/jni/MGPPWrapperImpl.cpp

    r4064 r4212  
    6060jmethodID MID_setTotalDocs=NULL; // MGPPQueryResult.setTotalDocs()
    6161jmethodID MID_clearResult=NULL; //MGPPQueryResult.clear()
     62jmethodID MID_setSyntaxError=NULL; // MGPPQueryResult.setSyntaxError()
    6263jclass CID_String=NULL; // class ID of String
    6364
     
    108109  if (MID_clearResult==NULL) {
    109110      cerr <<"method clear not found"<<endl;
     111  }
     112  MID_setSyntaxError = j_env->GetMethodID(JC_MGPPQueryResult, "setSyntaxError", "(Z)V");
     113  if (MID_clearResult==NULL) {
     114      cerr <<"method setSyntaxError not found"<<endl;
    110115  }
    111116
     
    151156JNIEXPORT jstring JNICALL
    152157Java_org_greenstone_mgpp_MGPPWrapper_getDocument (JNIEnv *j_env,
    153  jobject j_obj, jstring j_base_dir,
    154  jstring j_text_name, jstring j_level, jlong j_docnum) {
     158 jobject j_obj, jstring j_text_name, jstring j_level, jlong j_docnum) {
    155159 
    156160#ifdef __WIN32__
     
    213217 */
    214218JNIEXPORT jboolean JNICALL
    215 Java_org_greenstone_mgpp_MGPPWrapper_loadIndexData (JNIEnv *j_env, jobject j_obj, jstring j_base_dir, jstring j_index_name) {
     219Java_org_greenstone_mgpp_MGPPWrapper_loadIndexData (JNIEnv *j_env, jobject j_obj, jstring j_index_name) {
    216220
    217221  jint data_ptr = j_env->GetIntField(j_obj, FID_mgpp_data);
     
    295299  queryTree = ParseQuery(queryArray, data->defaultBoolCombine,
    296300             data->defaultStemMethod);
     301  if (queryTree == NULL) {
     302    // invalid syntax
     303    j_env->CallVoidMethod(result_ptr, MID_setSyntaxError, true);
     304    cerr << "MGPPWrapperImpl: invalid query syntax!!\n";
     305    return;
     306  }
    297307  // print the query
    298308  PrintNode (cout, queryTree);
Note: See TracChangeset for help on using the changeset viewer.