Changeset 917 for trunk/zoo-project/zoo-kernel/service_internal_java.c
- Timestamp:
- May 7, 2019, 2:17:08 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
-
Property
svn:mergeinfo
set to
False
/branches/prototype-v0 merged eligible
-
Property
svn:mergeinfo
set to
False
-
trunk/zoo-project/zoo-kernel/service_internal_java.c
r790 r917 208 208 #endif 209 209 #ifdef JAVA7 210 cls_gr = (*env) NewGlobalRef(cls);210 cls_gr = (*env).NewGlobalRef(cls); 211 211 #else 212 212 cls_gr = (*env)->NewGlobalRef(env, cls); … … 215 215 if (cls != NULL) { 216 216 #ifdef JAVA7 217 @(*env).ExceptionClear();217 (*env).ExceptionClear(); 218 218 pmid=(*env).GetStaticMethodID(cls, s->name, "(Ljava/util/HashMap;Ljava/util/HashMap;Ljava/util/HashMap;)I"); 219 219 #else … … 284 284 } 285 285 #ifdef JAVA7 286 286 (*jvm).DestroyJavaVM(); 287 287 #else 288 288 (*jvm)->DestroyJavaVM(jvm); … … 427 427 #endif 428 428 map* sizeV=getMap(tmp1,"size"); 429 map* useFile=getMap(tmp1,"use_file"); 430 map* cacheFile=getMap(tmp1,"cache_file"); 429 431 map* isArray=getMap(tmp1,"isArray"); 430 432 map* alen=getMap(tmp1,"length"); … … 432 434 if(strcmp(tmp1->name,"value")==0){ 433 435 if(isArray==NULL){ 434 if(sizeV!=NULL && strcmp(tmp1->name,"value")==0 ){436 if(sizeV!=NULL && strcmp(tmp1->name,"value")==0 && useFile==NULL){ 435 437 #ifdef JAVA7 436 438 jbyteArray tmpData=(*env).NewByteArray(atoi(sizeV->value)); 437 439 (*env).SetByteArrayRegion(tmpData,0,atoi(sizeV->value),(const jbyte *)tmp1->value); 438 (*env).CallObjectMethod( env,scObject1, put_mid, (*env).NewStringUTF(env,tmp1->name), tmpData);440 (*env).CallObjectMethod(scObject1, put_mid, (*env).NewStringUTF(tmp1->name), tmpData); 439 441 #else 440 442 jbyteArray tmpData=(*env)->NewByteArray(env,atoi(sizeV->value)); … … 448 450 (*env)->CallObjectMethod(env,scObject1, put_mid, (*env)->NewStringUTF(env,tmp1->name), (*env)->NewStringUTF(env,tmp1->value)); 449 451 #endif 452 if(useFile!=NULL) 453 #ifdef JAVA7 454 (*env).CallObjectMethod(scObject1, put_mid, (*env).NewStringUTF("cache_file"), (*env).NewStringUTF(cacheFile->value)); 455 #else 456 (*env)->CallObjectMethod(env,scObject1, put_mid, (*env)->NewStringUTF(env,"cache_file"), (*env)->NewStringUTF(env,cacheFile->value)); 457 #endif 458 450 459 } 451 460 else{ … … 455 464 jclass scArrayListClass,scArrayList_class; 456 465 jmethodID scArrayList_constructor; 457 jobject scObject2 ;466 jobject scObject2,scObject3; 458 467 #ifdef JAVA7 459 468 scArrayListClass = (*env).FindClass("java/util/ArrayList"); … … 462 471 jmethodID add_mid = 0; 463 472 scObject2 = (*env).NewObject(scArrayList_class, scArrayList_constructor); 473 scObject3 = (*env).NewObject(scArrayList_class, scArrayList_constructor); 464 474 465 475 add_mid = (*env).GetMethodID(scArrayListClass, … … 471 481 jmethodID add_mid = 0; 472 482 scObject2 = (*env)->NewObject(env, scArrayList_class, scArrayList_constructor); 483 scObject3 = (*env)->NewObject(env, scArrayList_class, scArrayList_constructor); 473 484 474 485 add_mid = (*env)->GetMethodID(env,scArrayListClass, … … 478 489 479 490 for(i=0;i<alen1;i++){ 491 map* cMap=getMapArray(tmp->content,"cache_file",i); 492 map* uMap=getMapArray(tmp->content,"use_file",i); 480 493 map* vMap=getMapArray(tmp->content,"value",i); 481 494 map* sMap=getMapArray(tmp->content,"size",i); 482 495 map* mMap=getMapArray(tmp->content,tmap->value,i); 483 496 484 if(sMap!=NULL && vMap!=NULL && strncmp(vMap->name,"value",5)==0 ){497 if(sMap!=NULL && vMap!=NULL && strncmp(vMap->name,"value",5)==0 && uMap==NULL){ 485 498 #ifdef JAVA7 486 499 jbyteArray tmpData=(*env).NewByteArray(atoi(sMap->value)); … … 501 514 #endif 502 515 } 503 516 517 if(cMap!=NULL){ 518 #ifdef JAVA7 519 jobject tmpData=(*env).NewStringUTF(cMap->value); 520 (*env).CallObjectMethod(scObject3, add_mid, tmpData); 521 #else 522 jobject tmpData=(*env)->NewStringUTF(env,cMap->value); 523 (*env)->CallObjectMethod(env,scObject3, add_mid, tmpData); 524 #endif 525 526 } 504 527 } 505 528 506 529 #ifdef JAVA7 507 530 (*env).CallObjectMethod(scObject1, put_mid, (*env).NewStringUTF(tmp1->name), scObject2); 531 (*env).CallObjectMethod(scObject1, put_mid, (*env).NewStringUTF("cache_file"), scObject3); 508 532 #else 509 533 (*env)->CallObjectMethod(env,scObject1, put_mid, (*env)->NewStringUTF(env,tmp1->name), scObject2); 534 (*env)->CallObjectMethod(env,scObject1, put_mid, (*env)->NewStringUTF(env,"cache_file"), scObject3); 510 535 #endif 511 536
Note: See TracChangeset
for help on using the changeset viewer.