diff options
author | neilm <neilm@openoffice.org> | 2002-11-21 19:20:06 +0000 |
---|---|---|
committer | neilm <neilm@openoffice.org> | 2002-11-21 19:20:06 +0000 |
commit | a0bcab9cd72e35448169ad0a9031e52bab0a36a0 (patch) | |
tree | 72ef3cd593f232d671a777835417df8a44baca8d /scripting/workben/installer/FileUpdater.java | |
parent | b90cc24c86d6cb88bc1f964759477b94d3c06e09 (diff) |
Additional error/exception handling
Diffstat (limited to 'scripting/workben/installer/FileUpdater.java')
-rw-r--r-- | scripting/workben/installer/FileUpdater.java | 139 |
1 files changed, 42 insertions, 97 deletions
diff --git a/scripting/workben/installer/FileUpdater.java b/scripting/workben/installer/FileUpdater.java index e099adfb27fa..2579e30d879e 100644 --- a/scripting/workben/installer/FileUpdater.java +++ b/scripting/workben/installer/FileUpdater.java @@ -1,10 +1,11 @@ package installer; import java.io.*; +import javax.swing.JLabel; public class FileUpdater { - public static boolean updateProtocolHandler( String installPath ) { + public static boolean updateProtocolHandler( String installPath, JLabel statusLabel ) { File in_file = null; FileInputStream in = null; File out_file = null; @@ -20,7 +21,6 @@ public class FileUpdater { count = -1; for (String s = reader.readLine(); s != null; s = reader.readLine()) { //</oor:node> count = count + 1; - //System.out.println(count + s); if(s != null) { s.trim(); xmlArray[count] = s; @@ -30,7 +30,11 @@ public class FileUpdater { } } catch( IOException ioe ) { - System.out.println( "Error reading Netbeans location information" ); + String message = "\nError reading ProtocolHandler.xcu, please view SFrameworkInstall.log."; + System.out.println(message); + ioe.printStackTrace(); + statusLabel.setText(message); + return false; } in_file.delete(); @@ -40,7 +44,6 @@ public class FileUpdater { out = new FileWriter( out_file ); for(int i=0; i<count + 1; i++) { - //System.err.println(xmlArray[i]); out.write(xmlArray[i]+"\n"); if( ( xmlArray[i].indexOf( "<node oor:name=\"HandlerSet\">" ) != -1 ) && ( xmlArray[i+1].indexOf( "ScriptProtocolHandler" ) == -1 ) ) { out.write( " <node oor:name=\"com.sun.star.comp.ScriptProtocolHandler\" oor:op=\"replace\">\n" ); @@ -52,8 +55,11 @@ public class FileUpdater { } } catch( Exception e ) { - System.out.println("\n Update ProtocolHandler Failed!"); - System.err.println(e); + String message = "\nError updating ProtocolHandler.xcu, please view SFrameworkInstall.log."; + System.out.println(message); + e.printStackTrace(); + statusLabel.setText(message); + return false; } finally { try { @@ -61,20 +67,17 @@ public class FileUpdater { System.out.println("File closed"); } catch(Exception e) { - System.out.println("\n Update ProtocolHandler Failed! (Write error)"); - System.err.println(e); + System.out.println("Update ProtocolHandler Failed! (File closing error)"); + System.err.println(e); + e.printStackTrace(); } } return true; + }// updateProtocolHandler - /* - public static void main( String[] args ) { - FileUpdater.updateProtocolHandler( "/scriptdev/neil/openoffice1.0.1ScriptFrame" ); - FileUpdater.updateStarBasicXLC( "/scriptdev/neil/openoffice1.0.1ScriptFrame" ); - }*/ - public static boolean updateScriptXLC( String installPath ) { + public static boolean updateScriptXLC( String installPath, JLabel statusLabel ) { File in_file = null; FileInputStream in = null; @@ -92,7 +95,6 @@ public class FileUpdater { count = -1; for (String s = reader.readLine(); s != null; s = reader.readLine()) { //</oor:node> count = count + 1; - //System.out.println(count + s); if(s != null) { s.trim(); xmlArray[count] = s; @@ -102,65 +104,24 @@ public class FileUpdater { } } catch( IOException ioe ) { - System.out.println( "Error reading updateScriptXLC information" ); + String message = "Error reading script.xlc, please view SFrameworkInstall.log."; + System.out.println(message); + ioe.printStackTrace(); + statusLabel.setText(message); + return false; } in_file.delete(); - - /* - File in_file = null; - FileInputStream in = null; - File out_file = null; - FileWriter out = null; - int count = 0; - - System.out.println("updateScriptXLC"); - try { - in_file = new File( installPath+File.separator+"user"+File.separator+"basic"+File.separator+"script.xlc" ); - - String[] xmlArray = new String[50]; - try { - BufferedReader reader = new BufferedReader(new FileReader(in_file)); - count = -1; - for (String s = reader.readLine(); s != null; s = reader.readLine()) { - count = count + 1; - if(s != null) { - s.trim(); - xmlArray[count] = s; - } - else - break; - } - } - catch( IOException ioe ) { - System.out.println( "Error reading Netbeans location information" ); - } - - - - in_file.delete(); - */ - out_file = new File( installPath+File.separator+"user"+File.separator+"basic"+File.separator+"script.xlc" ); out_file.createNewFile(); - // FileWriter - //out = new FileOutputStream( out_file ); out = new FileWriter( out_file ); //split the string into a string array with one line of xml in each element //String[] xmlArray = xmlLine.split("\n"); - //for(int i=0; i<xmlArray.length; i++) { for(int i=0; i<count + 1; i++) { - //System.out.println(xmlArray[i]); - //out.write(xmlArray[i].getBytes()); out.write(xmlArray[i]+"\n"); - //if( ( xmlArray[i].indexOf( "<node oor:name=\"HandlerSet\">" ) != -1 ) && ( xmlArray[i+1].indexOf( "ScriptProtocolHandler" ) == -1 ) ) { if( ( xmlArray[i].indexOf( "<library:libraries xmlns:library" ) != -1 ) && ( xmlArray[i+1].indexOf( "ScriptBindingLibrary" ) == -1 ) ) { -//<library:library library:name="Depot" xlink:href="file:///scriptdev/neil/openoffice1.0.1ScriptFrame/share/basic/Depot/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/> -//<library:library library:name="Standard" xlink:href="file:///scriptdev/neil/openoffice1.0.1ScriptFrame/user/basic/Standard/script.xlb/" xlink:type="simple" library:link="false"/> - //System.out.println(" <library:library library:name=\"ScriptBindingLibrary\" xlink:href=\"file://"+installPath+"/user/basic/ScriptBindingLibrary/script.xlb/\" xlink:type=\"simple\" library:link=\"false\"/>\n" ); - String opSys = System.getProperty("os.name"); if (opSys.indexOf("Windows") != -1) { out.write(" <library:library library:name=\"ScriptBindingLibrary\" library:link=\"false\"/>\n" ); @@ -172,16 +133,19 @@ public class FileUpdater { } } catch( Exception e ) { - System.out.println("\n Update Script.xlc Failed!"); - System.err.println(e); + String message = "\nError updating script.xlc, please view SFrameworkInstall.log."; + System.out.println(message); + e.printStackTrace(); + statusLabel.setText(message); + return false; } finally { try { out.close(); - //System.out.println("File closed"); } catch(Exception e) { - System.out.println("\n Update Script.xlc Failed! (Write error)"); + System.out.println("Update Script.xlc Failed (File closing error)"); + e.printStackTrace(); System.err.println(e); } } @@ -189,8 +153,7 @@ public class FileUpdater { }// updateScriptXLC - public static boolean updateDialogXLC( String installPath ) { - //System.out.println( installPath+File.separator+"user"+File.separator+"basic"+File.separator+"dialog.xlc" ); + public static boolean updateDialogXLC( String installPath, JLabel statusLabel ) { File in_file = null; FileInputStream in = null; File out_file = null; @@ -200,10 +163,6 @@ public class FileUpdater { //System.out.println( "updateDialogXLC" ); try { in_file = new File( installPath+File.separator+"user"+File.separator+"basic"+File.separator+"dialog.xlc" ); - //in = new FileInputStream( in_file ); - //parse the xml file - //byte[] buffer = new byte[4096]; - //int bytes_read = 0; String xmlLine = ""; String[] xmlArray = new String[50]; @@ -211,7 +170,6 @@ public class FileUpdater { BufferedReader reader = new BufferedReader(new FileReader(in_file)); count = -1; for (String s = reader.readLine(); s != null; s = reader.readLine()) { - //System.out.println( s ); count = count + 1; if(s != null) { s.trim(); @@ -222,39 +180,23 @@ public class FileUpdater { } } catch( IOException ioe ) { - System.out.println( "Error reading Netbeans location information" ); + String message = "\nError reading "+in_file.getPath()+" information"+ ioe + "\n Error Detail:\n" + ExceptionTraceHelper.getTrace(ioe); + System.out.println(message); + statusLabel.setText(message); + return false; } - - - /* - while((bytes_read = in.read(buffer)) != -1) { - //read the contents of the file into a string - String tempXMLLine = new String(buffer, 0, bytes_read); - xmlLine = xmlLine + tempXMLLine; - } - */ - - //in.close(); in_file.delete(); out_file = new File( installPath+File.separator+"user"+File.separator+"basic"+File.separator+"dialog.xlc" ); out_file.createNewFile(); - // FileWriter - //out = new FileOutputStream( out_file ); + out = new FileWriter( out_file ); //split the string into a string array with one line of xml in each element // String[] xmlArray = xmlLine.split("\n"); - //for(int i=0; i<xmlArray.length; i++) { for(int i=0; i<count + 1; i++) { - //System.out.println(xmlArray[i]); - //out.write(xmlArray[i].getBytes()); out.write(xmlArray[i]+"\n"); - //if( ( xmlArray[i].indexOf( "<node oor:name=\"HandlerSet\">" ) != -1 ) && ( xmlArray[i+1].indexOf( "ScriptProtocolHandler" ) == -1 ) ) { if( ( xmlArray[i].indexOf( "<library:libraries xmlns:library" ) != -1 ) && ( xmlArray[i+1].indexOf( "ScriptBindingLibrary" ) == -1 ) ) { -//<library:library library:name="Depot" xlink:href="file:///scriptdev/neil/openoffice1.0.1ScriptFrame/share/basic/Depot/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/> -//<library:library library:name="Standard" xlink:href="file:///scriptdev/neil/openoffice1.0.1ScriptFrame/user/basic/Standard/script.xlb/" xlink:type="simple" library:link="false"/> - //System.out.println( " <library:library library:name=\"ScriptBindingLibrary\" xlink:href=\"file://"+installPath+"/user/basic/ScriptBindingLibrary/dialog.xlb/\" xlink:type=\"simple\" library:link=\"false\"/>\n" ); String opSys = System.getProperty("os.name"); if (opSys.indexOf("Windows") != -1) { out.write(" <library:library library:name=\"ScriptBindingLibrary\" library:link=\"false\"/>\n" ); @@ -266,16 +208,19 @@ public class FileUpdater { } } catch( Exception e ) { - System.out.println("\n Update Dialog.xlc Failed!"); - System.err.println(e); + String message = "\nError updating dialog.xlc, please view SFrameworkInstall.log."; + System.out.println(message); + e.printStackTrace(); + statusLabel.setText(message); + return false; } finally { try { out.close(); - //System.out.println("File closed"); } catch(Exception e) { - System.out.println("\n Update Dialog.xlc Failed! (Write error)"); + System.out.println("Update dialog.xlc Failed (File closing error)"); + e.printStackTrace(); System.err.println(e); } } |