PUD: change signature of getPositionUpdateTime method
authorFerry Huberts <f.huberts@mindef.nl>
Thu, 8 Sep 2011 11:36:27 +0000 (13:36 +0200)
committerFerry Huberts <f.huberts@mindef.nl>
Tue, 18 Oct 2011 10:08:27 +0000 (12:08 +0200)
Signed-off-by: Ferry Huberts <f.huberts@mindef.nl>
lib/pud/wireformat-java/src/main/c/org_olsr_plugin_pud_PositionUpdate.c
lib/pud/wireformat-java/src/main/java/org/olsr/plugin/pud/PositionUpdate.java

index 10c5776..a634dee 100644 (file)
@@ -112,9 +112,9 @@ JNIEXPORT jint JNICALL Java_org_olsr_plugin_pud_PositionUpdate_getPositionUpdate
 /*
  * Class:     org_olsr_plugin_pud_PositionUpdate
  * Method:    getPositionUpdateTime
- * Signature: (J)Ljava/util/Date;
+ * Signature: (J)J
  */
-JNIEXPORT jobject JNICALL Java_org_olsr_plugin_pud_PositionUpdate_getPositionUpdateTime
+JNIEXPORT jlong JNICALL Java_org_olsr_plugin_pud_PositionUpdate_getPositionUpdateTime
   (JNIEnv * env, jobject this, jlong baseDate) {
        jobject dataObject;
        jboolean isCopy;
@@ -123,11 +123,9 @@ JNIEXPORT jobject JNICALL Java_org_olsr_plugin_pud_PositionUpdate_getPositionUpd
 
        jlong baseDateSeconds = baseDate / 1000;
        jlong baseDateMilliSeconds = baseDate % 1000;
+
        struct tm timeStruct;
        time_t updateTimeSeconds;
-       jlong updateTimeMilliSeconds;
-       jclass clazz;
-       jmethodID mid;
 
        getPositionUpdateTime(getPositionUpdateMessage(uplinkMessage),
                        baseDateSeconds, &timeStruct);
@@ -135,12 +133,7 @@ JNIEXPORT jobject JNICALL Java_org_olsr_plugin_pud_PositionUpdate_getPositionUpd
        releaseUplinkMessage(env, uplinkMessage, dataObject, isCopy, JNI_ABORT);
 
        updateTimeSeconds = mktime(&timeStruct);
-       updateTimeMilliSeconds = (updateTimeSeconds * 1000) + baseDateMilliSeconds;
-
-       /* object = new Date(updateTimeMilliSeconds); */
-       clazz = (*env)->FindClass(env, "java/util/Date");
-       mid = (*env)->GetMethodID(env, clazz, "<init>", "(J)V");
-       return (*env)->NewObject(env, clazz, mid, updateTimeMilliSeconds);
+       return (updateTimeSeconds * 1000) + baseDateMilliSeconds;
 }
 
 /*
index a126e43..26b65d7 100644 (file)
@@ -65,9 +65,10 @@ public class PositionUpdate extends UplinkMessage {
         * @param baseDate
         *            the base date relative to which the time of the position
         *            update message must be determined (milliseconds since Epoch)
-        * @return the time of the position update message
+        * @return the time of the position update message (milliseconds since
+        *         Epoch, UTC)
         */
-       public native Date getPositionUpdateTime(long baseDate);
+       public native long getPositionUpdateTime(long baseDate);
 
        /**
         * @return the latitude (in degrees) of the position update message