Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Hello you stupid doxygen. Our inline functions are visible to the users, please don...
[simgrid.git] / src / java / jxbt_utilities.c
index da844c8..6b11b8b 100644 (file)
@@ -1,14 +1,10 @@
-/*
- * $Id$
- *
- * Various JNI helper functions
- *
- * Copyright 2006,2007 Martin Quinson, Malek Cherier All right reserved. 
- *
- * This program is free software; you can redistribute it and/or modify it 
- * under the terms of the license (GNU LGPL) which comes with this package.
- *
- */
+/* Various JNI helper functions                                             */
+
+/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team.
+ * All rights reserved.                                                     */
+
+/* This program is free software; you can redistribute it and/or modify it
+  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include <stdlib.h>             /* abort */
 #include "xbt/misc.h"
@@ -46,13 +42,13 @@ jmethodID jxbt_get_jmethod(JNIEnv * env, jclass cls,
   if (!id) {
 
     jmethodID tostr_id =
-      (*env)->GetMethodID(env, cls, "getName", "()Ljava/lang/String;");
+        (*env)->GetMethodID(env, cls, "getName", "()Ljava/lang/String;");
     jstring jclassname =
-      (jstring) (*env)->CallObjectMethod(env, cls, tostr_id, NULL);
+        (jstring) (*env)->CallObjectMethod(env, cls, tostr_id, NULL);
     const char *classname = (*env)->GetStringUTFChars(env, jclassname, 0);
 
-    char *m =
-      bprintf("Cannot find method %s(%s) in %s", name, signature, classname);
+    char *m = bprintf("Cannot find method %s(%s) in %s", name, signature,
+                      classname);
 
     (*env)->ReleaseStringUTFChars(env, jclassname, classname);
 
@@ -77,14 +73,14 @@ jmethodID jxbt_get_static_jmethod(JNIEnv * env, jclass cls,
   if (!id) {
 
     jmethodID tostr_id =
-      (*env)->GetMethodID(env, cls, "getName", "()Ljava/lang/String;");
+        (*env)->GetMethodID(env, cls, "getName", "()Ljava/lang/String;");
     jstring jclassname =
-      (jstring) (*env)->CallObjectMethod(env, cls, tostr_id, NULL);
+        (jstring) (*env)->CallObjectMethod(env, cls, tostr_id, NULL);
     const char *classname = (*env)->GetStringUTFChars(env, jclassname, 0);
 
     char *m =
-      bprintf("Cannot find static method %s(%s) in %s", name, signature,
-              classname);
+        bprintf("Cannot find static method %s(%s) in %s", name, signature,
+                classname);
 
     (*env)->ReleaseStringUTFChars(env, jclassname, classname);
 
@@ -112,8 +108,8 @@ jmethodID jxbt_get_static_smethod(JNIEnv * env, const char *classname,
 
   if (!id) {
     char *m =
-      bprintf("Cannot find static method %s(%s) in %s", name, signature,
-              classname);
+        bprintf("Cannot find static method %s(%s) in %s", name, signature,
+                classname);
 
     jxbt_throw_jni(env, m);
 
@@ -137,8 +133,8 @@ jmethodID jxbt_get_smethod(JNIEnv * env, const char *classname,
   id = (*env)->GetMethodID(env, cls, name, signature);
 
   if (!id) {
-    char *m =
-      bprintf("Cannot find method %s(%s) in %s", name, signature, classname);
+    char *m = bprintf("Cannot find method %s(%s) in %s", name, signature,
+                      classname);
 
     jxbt_throw_jni(env, m);
 
@@ -160,12 +156,12 @@ jfieldID jxbt_get_jfield(JNIEnv * env, jclass cls,
 
   if (!id) {
     jmethodID getname_id =
-      (*env)->GetMethodID(env, cls, "getName", "()Ljava/lang/String;");
+        (*env)->GetMethodID(env, cls, "getName", "()Ljava/lang/String;");
     jstring jclassname =
-      (jstring) (*env)->CallObjectMethod(env, cls, getname_id, NULL);
+        (jstring) (*env)->CallObjectMethod(env, cls, getname_id, NULL);
     const char *classname = (*env)->GetStringUTFChars(env, jclassname, 0);
-    char *m =
-      bprintf("Cannot find field %s %s in %s", signature, name, classname);
+    char *m = bprintf("Cannot find field %s %s in %s", signature, name,
+                      classname);
 
     (*env)->ReleaseStringUTFChars(env, jclassname, classname);
 
@@ -190,8 +186,8 @@ jfieldID jxbt_get_sfield(JNIEnv * env, const char *classname,
   id = (*env)->GetFieldID(env, cls, name, signature);
 
   if (!id) {
-    char *m =
-      bprintf("Cannot find field %s %s in %s", signature, name, classname);
+    char *m = bprintf("Cannot find field %s %s in %s", signature, name,
+                      classname);
 
     jxbt_throw_jni(env, m);
 
@@ -209,7 +205,8 @@ static void jxbt_throw_by_name(JNIEnv * env, const char *name, char *msg)
 {
   jclass cls = (*env)->FindClass(env, name);
 
-  xbt_assert2(cls, "%s (Plus severe error: class %s not found)\n", msg, name);
+  xbt_assert2(cls, "%s (Plus severe error: class %s not found)\n", msg,
+              name);
 
   (*env)->ThrowNew(env, cls, msg);
 
@@ -265,31 +262,35 @@ void jxbt_throw_process_not_found(JNIEnv * env, const char *invalid_name)
 }
 
 // tranfert failure
-void jxbt_throw_transfer_failure(JNIEnv *env,const char *task_name,const char *alias)
+void jxbt_throw_transfer_failure(JNIEnv * env, char *details)
 {
-  
-  jxbt_throw_by_name(env,
-                    "simgrid/msg/TransferFailureException",
-                    bprintf("There has been a problem during your task transfer (task :%s / alias :%s)",task_name,alias));
-  
+
+  jxbt_throw_by_name(env, "simgrid/msg/TransferFailureException", details);
+
 }
 
 // host failure Exception
-void jxbt_throw_host_failure(JNIEnv *env,const char *task_name,const char *alias)
+void jxbt_throw_host_failure(JNIEnv * env, char *details)
 {
-  
- jxbt_throw_by_name(env,
-                   "simgrid/msg/HostFailureException",
-                   bprintf("Host Failure while sending (task :%s / alias %s) : The host on which you are running has just been rebooted",task_name,alias));
-  
+
 jxbt_throw_by_name(env,
+                     "simgrid/msg/HostFailureException",
+                     bprintf("Host Failure %s", details));
+
 }
 
 // time out failure Exception
-void jxbt_throw_time_out_failure(JNIEnv *env,const char *task_name,const char *alias)
+void jxbt_throw_time_out_failure(JNIEnv * env, char *details)
 {
-  
-  jxbt_throw_by_name(env,
-                   "simgrid/msg/TimeoutFailureException",
-                   bprintf("Timeout Failure while sending(task :%s / alias %s ):nothing good happened before the timer you provided elapsed ",task_name,alias));
-  
-}
\ No newline at end of file
+
+  jxbt_throw_by_name(env, "simgrid/msg/TimeoutException", details);
+
+}
+
+// task Cancelled exception
+void jxbt_throw_task_cancelled(JNIEnv * env, char *details)
+{
+
+  jxbt_throw_by_name(env, "simgrid/msg/TaskCancelledException", details);
+
+}