1 17 package org.columba.core.main; 18 19 import java.io.BufferedReader ; 20 import java.io.BufferedWriter ; 21 import java.io.File ; 22 import java.io.FileReader ; 23 import java.io.FileWriter ; 24 import java.io.IOException ; 25 26 import javax.swing.JOptionPane ; 27 28 import org.columba.api.exception.AuthenticationException; 29 import org.columba.core.config.Config; 30 import org.columba.core.resourceloader.GlobalResourceLoader; 31 32 36 public class SessionController { 37 38 45 public static void passToRunningSessionAndExit(String [] args) { 46 ColumbaClient client = new ColumbaClient(); 48 49 try { 50 client.connect(); 51 client.sendCommandLine(args); 52 System.exit(5); 53 } catch (IOException ioe1) { 54 try { 56 ColumbaServer.getColumbaServer().start(); 57 } catch (IOException ioe2) { 58 ioe2.printStackTrace(); 59 System.exit(1); 61 } 62 } catch (AuthenticationException ae) { 63 JOptionPane.showMessageDialog(null, 64 GlobalResourceLoader.getString(ColumbaServer.RESOURCE_PATH, 65 "session", "err_auth_msg"), 66 GlobalResourceLoader.getString(ColumbaServer.RESOURCE_PATH, 67 "session", "err_auth_title"), 68 JOptionPane.ERROR_MESSAGE); 69 System.exit(5); 70 } finally { 71 client.close(); 72 } 73 } 74 75 78 protected static int deserializePortNumber() throws IOException { 79 File file = new File (Config.getInstance().getConfigDirectory(), ".auth"); 80 BufferedReader reader = null; 81 82 try { 83 reader = new BufferedReader (new FileReader (file)); 84 85 String line = reader.readLine(); 86 87 return Integer.parseInt(line); 88 } catch (NumberFormatException nfe) { 89 IOException ioe = new IOException (); 90 ioe.initCause(nfe); 91 throw ioe; 92 } finally { 93 if (reader != null) { 94 reader.close(); 95 } 96 } 97 } 98 99 103 protected static void serializePortNumber(int port) 104 throws IOException { 105 File file = new File (Config.getInstance().getConfigDirectory(), ".auth"); 106 107 if (port == -1) { 108 file.delete(); 109 } else { 110 BufferedWriter writer = null; 111 112 try { 113 writer = new BufferedWriter (new FileWriter (file)); 114 writer.write(Integer.toString(port)); 115 writer.newLine(); 116 } finally { 117 if (writer != null) { 118 writer.close(); 119 } 120 } 121 } 122 } 123 } 124 | Popular Tags |