modules/fxpackager/src/main/native/library/common/Exports.cpp

Print this page

        

@@ -44,105 +44,106 @@
 class UserJVMArgsExports {
 private:
     // This is not a class to create an instance of.
     UserJVMArgsExports();
 
-    static jobjectArray MapKeysToJObjectArray(JNIEnv *env, TOrderedMap map) {
-        JavaStringArray result(env, map.size());
-        unsigned int index = 0;
-
-        for (TOrderedMap::iterator iterator = map.begin();
-            iterator != map.end();
-            iterator++) {
+    static jobjectArray MapKeysToJObjectArray(JNIEnv *env, OrderedMap<TString, TString> map) {
+        std::vector<TString> keys = map.GetKeys();
+        JavaStringArray result(env, keys.size());
 
-            jstring item = PlatformString(iterator->first).toJString(env);
+        for (unsigned int index = 0; index < keys.size(); index++) {
+            jstring item = PlatformString(keys[index]).toJString(env);
             result.SetValue(index, item);
-
-            index++;
         }
 
+//        JavaStringArray result(env, map.Count());
+//
+//        for (map::  iterator = map.begin(); iterator != map.end(); iterator++) {
+//            jstring item = PlatformString(keys[index]).toJString(env);
+//            result.SetValue(index, item);
+//        }
+
         return result.GetData();
     }
 
 public:
     static jstring _getUserJvmOptionDefaultValue(JNIEnv *env, jstring option) {
         if (env == NULL || option == NULL)
             return NULL;
 
-        jstring result;
+        jstring result = NULL;
 
         Package& package = Package::GetInstance();
-        TOrderedMap defaultuserargs = package.GetDefaultJVMUserArgs();
+        OrderedMap<TString, TString> defaultuserargs = package.GetDefaultJVMUserArgs();
         TString loption = PlatformString(env, option).toString();
-        PlatformString value = defaultuserargs[loption].value;
 
         try {
+            TString temp;
+            defaultuserargs.GetValue(loption, temp);
+            PlatformString value = temp;
             result = value.toJString(env);
         }
         catch (const JavaException&) {
-            return NULL;
         }
 
         return result;
     }
 
     static jobjectArray _getUserJvmOptionDefaultKeys(JNIEnv *env) {
         if (env == NULL)
             return NULL;
 
-        jobjectArray result;
+        jobjectArray result = NULL;
 
         Package& package = Package::GetInstance();
 
         try {
             result = MapKeysToJObjectArray(env, package.GetDefaultJVMUserArgs());
         }
         catch (const JavaException&) {
-            return NULL;
         }
 
         return result;
     }
 
     static jstring _getUserJvmOptionValue(JNIEnv *env, jstring option) {
         if (env == NULL || option == NULL)
             return NULL;
 
-        jstring result;
+        jstring result = NULL;
 
         Package& package = Package::GetInstance();
-        TOrderedMap userargs = package.GetJVMUserArgs();
+        OrderedMap<TString, TString> userargs = package.GetJVMUserArgs();
 
         try {
             TString loption = PlatformString(env, option).toString();
-            PlatformString value = userargs[loption].value;
+            TString temp;
+            userargs.GetValue(loption, temp);
+            PlatformString value = temp;
             result = value.toJString(env);
         }
         catch (const JavaException&) {
-            return NULL;
         }
 
         return result;
     }
 
     static void _setUserJvmKeysAndValues(JNIEnv *env, jobjectArray options, jobjectArray values) {
         if (env == NULL || options == NULL || values == NULL)
             return;
         
         Package& package = Package::GetInstance();
-        TOrderedMap newMap;
+        OrderedMap<TString, TString> newMap;
 
         try {
             JavaStringArray loptions(env, options);
             JavaStringArray lvalues(env, values);
 
             for (unsigned int index = 0; index < loptions.Count(); index++) {
                 TString name = PlatformString(env, loptions.GetValue(index)).toString();
-                TValueIndex value;
-                value.value = PlatformString(env, lvalues.GetValue(index)).toString();
-                value.index = index;
-                newMap.insert(TOrderedMap::value_type(name, value));
+                TString value = PlatformString(env, lvalues.GetValue(index)).toString();
+                newMap.Append(name, value);
             }
         }
         catch (const JavaException&) {
             return;
         }

@@ -152,19 +153,18 @@
 
     static jobjectArray _getUserJvmOptionKeys(JNIEnv *env) {
         if (env == NULL)
             return NULL;
 
-        jobjectArray result;
+        jobjectArray result = NULL;
 
         Package& package = Package::GetInstance();
 
         try {
             result = MapKeysToJObjectArray(env, package.GetJVMUserArgs());
         }
         catch (const JavaException&) {
-            return NULL;
         }
 
         return result;
     }
 };