< prev index next >

src/java.desktop/macosx/native/libawt_lwawt/awt/CFileDialog.m

Print this page
rev 54094 : 8257853: Remove dependencies on JNF's JNI utility functions in AWT and 2D code
rev 54096 : 8259651: [macOS] Replace JNF_COCOA_ENTER/EXIT macros
rev 54097 : 8259869: [macOS] Remove desktop module dependencies on JNF Reference APIs
rev 54098 : 8260616: Removing remaining JNF dependencies in the java.desktop module
8259729: Missed JNFInstanceOf -> IsInstanceOf conversion

@@ -23,14 +23,14 @@
  * questions.
  */
 
 #import <sys/stat.h>
 #import <Cocoa/Cocoa.h>
-#import <JavaNativeFoundation/JavaNativeFoundation.h>
 
-#import "CFileDialog.h"
 #import "ThreadUtilities.h"
+#import "JNIUtilities.h"
+#import "CFileDialog.h"
 
 #import "java_awt_FileDialog.h"
 #import "sun_lwawt_macosx_CFileDialog.h"
 
 @implementation CFileDialog

@@ -46,11 +46,11 @@
 canChooseDirectories:(BOOL)inChooseDirectories
              withEnv:(JNIEnv*)env;
 {
   if (self = [super init]) {
         fHasFileFilter = inHasFilter;
-        fFileDialog = JNFNewGlobalRef(env, inDialog);
+        fFileDialog = (*env)->NewGlobalRef(env, inDialog);
         fDirectory = inPath;
         [fDirectory retain];
         fFile = inFile;
         [fFile retain];
         fTitle = inTitle;

@@ -66,11 +66,11 @@
 }
 
 -(void) disposer {
     if (fFileDialog != NULL) {
         JNIEnv *env = [ThreadUtilities getJNIEnvUncached];
-        JNFDeleteGlobalRef(env, fFileDialog);
+        (*env)->DeleteGlobalRef(env, fFileDialog);
         fFileDialog = NULL;
     }
 }
 
 -(void) dealloc {

@@ -140,15 +140,16 @@
     [self disposer];
 }
 
 - (BOOL) askFilenameFilter:(NSString *)filename {
     JNIEnv *env = [ThreadUtilities getJNIEnv];
-    jstring jString = JNFNormalizedJavaStringForPath(env, filename);
+    jstring jString = NormalizedPathJavaStringFromNSString(env, filename);
 
-    static JNF_CLASS_CACHE(jc_CFileDialog, "sun/lwawt/macosx/CFileDialog");
-    static JNF_MEMBER_CACHE(jm_queryFF, jc_CFileDialog, "queryFilenameFilter", "(Ljava/lang/String;)Z");
-    BOOL returnValue = JNFCallBooleanMethod(env, fFileDialog, jm_queryFF, jString); // AWT_THREADING Safe (AWTRunLoopMode)
+    DECLARE_CLASS_RETURN(jc_CFileDialog, "sun/lwawt/macosx/CFileDialog", NO);
+    DECLARE_METHOD_RETURN(jm_queryFF, jc_CFileDialog, "queryFilenameFilter", "(Ljava/lang/String;)Z", NO);
+    BOOL returnValue = (*env)->CallBooleanMethod(env, fFileDialog, jm_queryFF, jString);
+    CHECK_EXCEPTION();
     (*env)->DeleteLocalRef(env, jString);
 
     return returnValue;
 }
 

@@ -194,45 +195,45 @@
  jboolean navigateApps, jboolean chooseDirectories, jboolean hasFilter,
  jstring directory, jstring file)
 {
     jobjectArray returnValue = NULL;
 
-JNF_COCOA_ENTER(env);
-    NSString *dialogTitle = JNFJavaToNSString(env, title);
+JNI_COCOA_ENTER(env);
+    NSString *dialogTitle = JavaStringToNSString(env, title);
     if ([dialogTitle length] == 0) {
         dialogTitle = @" ";
     }
 
     CFileDialog *dialogDelegate = [[CFileDialog alloc] initWithFilter:hasFilter
                                                            fileDialog:peer
                                                                 title:dialogTitle
-                                                            directory:JNFJavaToNSString(env, directory)
-                                                                 file:JNFJavaToNSString(env, file)
+                                                            directory:JavaStringToNSString(env, directory)
+                                                                 file:JavaStringToNSString(env, file)
                                                                  mode:mode
                                                          multipleMode:multipleMode
                                                        shouldNavigate:navigateApps
                                                  canChooseDirectories:chooseDirectories
                                                               withEnv:env];
 
-    [JNFRunLoop performOnMainThread:@selector(safeSaveOrLoad)
+    [ThreadUtilities performOnMainThread:@selector(safeSaveOrLoad)
                                  on:dialogDelegate
                          withObject:nil
                       waitUntilDone:YES];
 
     if ([dialogDelegate userClickedOK]) {
         NSArray *urls = [dialogDelegate URLs];
         jsize count = [urls count];
 
-        static JNF_CLASS_CACHE(jc_String, "java/lang/String");
-        returnValue = JNFNewObjectArray(env, &jc_String, count);
+        DECLARE_CLASS_RETURN(jc_String, "java/lang/String", NULL);
+        returnValue = (*env)->NewObjectArray(env, count, jc_String, NULL);
 
         [urls enumerateObjectsUsingBlock:^(id url, NSUInteger index, BOOL *stop) {
-            jstring filename = JNFNormalizedJavaStringForPath(env, [url path]);
+            jstring filename = NormalizedPathJavaStringFromNSString(env, [url path]);
             (*env)->SetObjectArrayElement(env, returnValue, index, filename);
             (*env)->DeleteLocalRef(env, filename);
         }];
     }
 
     [dialogDelegate release];
-JNF_COCOA_EXIT(env);
+JNI_COCOA_EXIT(env);
     return returnValue;
 }
< prev index next >