/* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ package installer; import java.io.*; import javax.swing.JLabel; public class FileUpdater { public static boolean updateProtocolHandler( String installPath, JLabel statusLabel ) { File in_file = null; File out_file = null; FileWriter out = null; int count = 0; try { in_file = new File( installPath+File.separator+"share"+File.separator+"registry"+File.separator+"data"+File.separator+"org"+File.separator+"openoffice"+File.separator+"Office"+File.separator+"ProtocolHandler.xcu" ); 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; s.trim(); xmlArray[count] = s; } reader.close(); } catch( IOException ioe ) { String message = "\nError reading ProtocolHandler.xcu, please view SFrameworkInstall.log."; System.out.println(message); ioe.printStackTrace(); statusLabel.setText(message); return false; } in_file.delete(); out_file = new File( installPath+File.separator+"share"+File.separator+"registry"+File.separator+"data"+File.separator+"org"+File.separator+"openoffice"+File.separator+"Office"+File.separator+"ProtocolHandler.xcu" ); out_file.createNewFile(); out = new FileWriter( out_file ); for(int i=0; i" ) != -1 ) && ( xmlArray[i+1].indexOf( "ScriptProtocolHandler" ) == -1 ) ) { out.write( " \n" ); out.write( " \n" ); out.write( " script:*\n" ); out.write( " \n" ); out.write( " \n" ); } } } catch( Exception e ) { String message = "\nError updating ProtocolHandler.xcu, 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("Update ProtocolHandler Failed, please view SFrameworkInstall.log."); System.err.println(e); e.printStackTrace(); } } return true; }// updateProtocolHandler public static boolean updateScriptXLC( String installPath, JLabel statusLabel ) { File in_file = 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; s.trim(); xmlArray[count] = s; } reader.close(); } catch( IOException ioe ) { String message = "Error reading script.xlc, please view SFrameworkInstall.log."; System.out.println(message); ioe.printStackTrace(); statusLabel.setText(message); return false; } in_file.delete(); out_file = new File( installPath+File.separator+"user"+File.separator+"basic"+File.separator+"script.xlc" ); out_file.createNewFile(); 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\n" ); } else { out.write(" \n" ); } } } } catch( Exception 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(); } catch(Exception e) { System.out.println("Update Script.xlc Failed, please view SFrameworkInstall.log."); e.printStackTrace(); System.err.println(e); } } return true; }// updateScriptXLC public static boolean updateDialogXLC( String installPath, JLabel statusLabel ) { File in_file = null; File out_file = null; FileWriter out = null; int count = 0; //System.out.println( "updateDialogXLC" ); try { in_file = new File( installPath+File.separator+"user"+File.separator+"basic"+File.separator+"dialog.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; s.trim(); xmlArray[count] = s; } reader.close(); } catch( IOException ioe ) { String message = "\nError reading dialog.xlc, please view SFrameworkInstall.log."; System.out.println(message); statusLabel.setText(message); return false; } in_file.delete(); out_file = new File( installPath+File.separator+"user"+File.separator+"basic"+File.separator+"dialog.xlc" ); out_file.createNewFile(); 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\n" ); } else { out.write(" \n" ); } } } } catch( Exception 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(); } catch(Exception e) { System.out.println("Update dialog.xlc Failed, please view SFrameworkInstall.log."); e.printStackTrace(); System.err.println(e); } } return true; }// updateScriptXLC }