1 19 20 package jemmyI18NWizard.wizardSupport; 21 22 import org.openide.filesystems.FileSystem; 23 import org.openide.filesystems.Repository; 24 25 import java.io.*; 26 import org.openide.filesystems.FileObject; 27 import org.openide.loaders.DataObject; 28 import org.openide.cookies.SaveCookie; 29 import org.openide.util.RequestProcessor; 30 import java.util.Hashtable ; 31 32 33 public class Utilities { 34 35 public static String getFilesystemPath() { 36 37 org.openide.filesystems.FileObject fileObject = null; 38 org.openide.filesystems.FileSystem fileSystemRoot = null; 39 org.openide.filesystems.Repository repository; 40 try { 41 repository = Repository.getDefault(); 42 fileObject = repository.find("jemmyI18NWizard.wizardSupport", "Utilities","class"); 43 fileSystemRoot = fileObject.getFileSystem(); 44 45 } catch(Exception e) { 46 System.out.println("Exception when identifying filesystem: " + e); 47 } 48 return fileSystemRoot.getDisplayName(); 49 } 50 51 public static boolean compareBundles(String name1, String name2) throws Exception { 52 BufferedReader file1 = null; 53 BufferedReader file2 = null; 54 55 try { 56 file1 = new BufferedReader(new FileReader(new File(name1))); 57 file2 = new BufferedReader(new FileReader(new File(name2))); 58 } catch(Exception e) { 59 System.out.println("Exception when opening file: " + e); 60 throw e; 61 } 62 63 Hashtable hashtable = new Hashtable (); 64 String line; 65 while((line = file1.readLine())!=null) hashtable.put(line, line); 66 67 while(true) { 68 line = file2.readLine(); 69 70 if(line == null) return (hashtable.size() == 0); 71 72 if(hashtable.containsKey(line)) hashtable.remove(line); 73 else return false; 74 } 75 } 76 77 public static void saveFile(String name) throws Exception { 78 79 final String extension = name.substring(name.lastIndexOf('.')+1,name.length()); 80 final String filename; 81 final String path; 82 83 String shorter = name.substring(0, name.lastIndexOf('.')); 84 shorter = shorter.replace('/','.'); 85 shorter = shorter.replace('\\','.'); 86 87 int lastDot = shorter.lastIndexOf('.'); 88 if(lastDot == -1) { 89 filename = shorter; 90 path = ""; 91 } 92 else { 93 filename = shorter.substring(lastDot+1, shorter.length()); 94 if(shorter.startsWith(".")) shorter = shorter.substring(1); 95 path = shorter.substring(0, lastDot); 96 } 97 98 final FileObject fObject = Repository.getDefault().find(path, filename, extension); 99 if(fObject == null) throw new Exception ("Error finding fileobject"); 100 final DataObject dObject = DataObject.find(fObject); 101 102 Thread waitForSave = new Thread () { 103 public void run() { 104 SaveCookie sc = (SaveCookie)dObject.getCookie(SaveCookie.class); 105 try { 106 if(sc != null) sc.save(); 107 } catch(Exception e) { 108 System.out.println("Error when saving file."); 109 } 110 } 111 }; 112 113 RequestProcessor.Task task = RequestProcessor.postRequest(waitForSave); 114 task.waitFinished(); 115 } 116 117 } 118 119 120 | Popular Tags |