diff options
| author | Martin Desruisseaux <martin.desruisseaux@geomatys.fr> | 2012-06-01 13:06:41 +0000 |
|---|---|---|
| committer | Martin Desruisseaux <martin.desruisseaux@geomatys.fr> | 2012-06-01 13:06:41 +0000 |
| commit | 6c1b75a6d7dacf5e3270ae4c466068c9c535c08f (patch) | |
| tree | d6dcc107e42e20eeeea79482eaff48588e6e601b /src | |
| parent | 36ce9c9987f8f6e4795db541d9ba293f3fbeaedc (diff) | |
| download | PROJ-6c1b75a6d7dacf5e3270ae4c466068c9c535c08f.tar.gz PROJ-6c1b75a6d7dacf5e3270ae4c466068c9c535c08f.zip | |
Removed legacy JNI binding.
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2213 4e78687f-474d-0410-85f9-8d5e500ac6b2
Diffstat (limited to 'src')
| -rw-r--r-- | src/jniproj.c | 171 |
1 files changed, 0 insertions, 171 deletions
diff --git a/src/jniproj.c b/src/jniproj.c index a0d9180b..5db64051 100644 --- a/src/jniproj.c +++ b/src/jniproj.c @@ -478,175 +478,4 @@ JNIEXPORT void JNICALL Java_org_proj4_PJ_finalize } } - - - -/* =============================================================================================== - * - * Below this point are the previous JNI bindings that existed in the legacy org.proj4.Projections - * class before the new bindings defined above. We keep those binding for now, but may remove them - * in a future version. There is a few issues with the code below: - * - * 1) Every call to (*env)->GetStringUTFChars(...) shall have a corresponding call to - * (*env)->ReleaseStringUTFChars(...). - * - * 2) Every call to (*env)->GetFoo(...) shall check for NULL return value. If the return - * value is NULL, than a java.lang.OutOfMemoryError has already been thrown in the JVM; - * we just need to return from the C method after releasing allocated objects (if any). - * - * 3) If a Proj.4 method fails to execute, we should invoke (*env)->ThrowNew(...) instead - * than exit(1) in order to throw an exception in the Java program instead than stopping - * the JVM. - * - * 4) We should check the user arguments for null values or index out of bounds, and - * throw the appropriate Java exception if an argument is invalid. - */ - -#include "org_proj4_Projections.h" - -#define arraysize 300 - -/*! - * \brief - * executes reprojection - * - * JNI informations: - * Class: org_proj4_Projections - * Method: transform - * Signature: ([D[D[DLjava/lang/String;Ljava/lang/String;JI)V - * - * - * \param env - parameter used by jni (see JNI specification) - * \param parent - parameter used by jni (see JNI specification) - * \param firstcoord - array of x coordinates - * \param secondcoord - array of y coordinates - * \param values - array of z coordinates - * \param src - definition of the source projection - * \param dest - definition of the destination projection - * \param pcount - * \param poffset -*/ -JNIEXPORT void JNICALL Java_org_proj4_Projections_transform - (JNIEnv * env, jobject parent, jdoubleArray firstcoord, jdoubleArray secondcoord, jdoubleArray values, jstring src, jstring dest, jlong pcount, jint poffset) -{ - int i; - projPJ src_pj, dst_pj; - char * srcproj_def = (char *) (*env)->GetStringUTFChars (env, src, 0); - char * destproj_def = (char *) (*env)->GetStringUTFChars (env, dest, 0); - - if (!(src_pj = pj_init_plus(srcproj_def))) - exit(1); - if (!(dst_pj = pj_init_plus(destproj_def))) - exit(1); - - double *xcoord = (* env)-> GetDoubleArrayElements(env, firstcoord, NULL); - double *ycoord = (* env) -> GetDoubleArrayElements(env, secondcoord, NULL); - double *zcoord = (* env) -> GetDoubleArrayElements(env, values, NULL); - - pj_transform( src_pj, dst_pj, pcount,poffset, xcoord, ycoord, zcoord); - - (* env)->ReleaseDoubleArrayElements(env,firstcoord,(jdouble *) xcoord, 0); - (* env)->ReleaseDoubleArrayElements(env,secondcoord,(jdouble *) ycoord, 0); - (* env)->ReleaseDoubleArrayElements(env,values,(jdouble *) zcoord, 0); - - pj_free( src_pj ); - pj_free( dst_pj ); -} - -/*! - * \brief - * retrieves projection parameters - * - * JNI informations: - * Class: org_proj4_Projections - * Method: getProjInfo - * Signature: (Ljava/lang/String;)Ljava/lang/String; - * - * - * \param env - parameter used by jni (see JNI specification) - * \param parent - parameter used by jni (see JNI specification) - * \param projdefinition - definition of the projection -*/ -JNIEXPORT jstring JNICALL Java_org_proj4_Projections_getProjInfo - (JNIEnv * env, jobject parent, jstring projdefinition) -{ - PJ *pj; - char * pjdesc; - char info[arraysize]; - - char * proj_def = (char *) (*env)->GetStringUTFChars (env, projdefinition, 0); - - if (!(pj = pj_init_plus(proj_def))) - exit(1); - - /* put together all the info of the projection and free the pointer to pjdesc */ - pjdesc = pj_get_def(pj, 0); - strcpy(info,pjdesc); - pj_dalloc(pjdesc); - - return (*env)->NewStringUTF(env,info); -} - - -/*! - * \brief - * retrieves ellipsoid parameters - * - * JNI informations: - * Class: org_proj4_Projections - * Method: getEllipsInfo - * Signature: (Ljava/lang/String;)Ljava/lang/String; - * - * - * \param env - parameter used by jni (see JNI specification) - * \param parent - parameter used by jni (see JNI specification) - * \param projdefinition - definition of the projection -*/ -JNIEXPORT jstring JNICALL Java_org_proj4_Projections_getEllipsInfo - (JNIEnv * env, jobject parent, jstring projdefinition) -{ - PJ *pj; - char * pjdesc; - char ellipseinfo[arraysize]; - char temp[50]; - - char * proj_def = (char *) (*env)->GetStringUTFChars (env, projdefinition, 0); - - if (!(pj = pj_init_plus(proj_def))) - exit(1); - - /* put together all the info of the ellipsoid */ -/* sprintf(temp,"name: %s;", pj->descr); */ - sprintf(temp,"name: not available;"); - strcpy(ellipseinfo,temp); - sprintf(temp,"a: %lf;", pj->a); - strcat(ellipseinfo,temp); - sprintf(temp,"e: %lf;", pj->e); - strcat(ellipseinfo,temp); - sprintf(temp,"es: %lf;", pj->es); - strcat(ellipseinfo,temp); - sprintf(temp,"ra: %lf;", pj->ra); - strcat(ellipseinfo,temp); - sprintf(temp,"one_es: %lf;", pj->one_es); - strcat(ellipseinfo,temp); - sprintf(temp,"rone_es: %lf;", pj->rone_es); - strcat(ellipseinfo,temp); - sprintf(temp,"lam0: %lf;", pj->lam0); - strcat(ellipseinfo,temp); - sprintf(temp,"phi0: %lf;", pj->phi0); - strcat(ellipseinfo,temp); - sprintf(temp,"x0: %lf;", pj->x0); - strcat(ellipseinfo,temp); - sprintf(temp,"y0: %lf;", pj->y0); - strcat(ellipseinfo,temp); - sprintf(temp,"k0: %lf;", pj->k0); - strcat(ellipseinfo,temp); - sprintf(temp,"to_meter: %lf;", pj->to_meter); - strcat(ellipseinfo,temp); - sprintf(temp,"fr_meter: %lf;", pj->fr_meter); - strcat(ellipseinfo,temp); - - return (*env)->NewStringUTF(env,ellipseinfo); -} - #endif |
