diff options
author | neilm <neilm@openoffice.org> | 2002-11-13 12:04:39 +0000 |
---|---|---|
committer | neilm <neilm@openoffice.org> | 2002-11-13 12:04:39 +0000 |
commit | 5be524976e257b56ace9d219f9af82eb41abea17 (patch) | |
tree | e6a45b3e180e41c09469404785e1b0ed4c6ac9e8 /scripting/workben/installer/FileUpdater.java | |
parent | 64b8f1ca6d3b2020c847b04c9038b92897c8d95b (diff) |
Initial Import of source files for the Scripting Framework Installer
Diffstat (limited to 'scripting/workben/installer/FileUpdater.java')
-rw-r--r-- | scripting/workben/installer/FileUpdater.java | 268 |
1 files changed, 268 insertions, 0 deletions
diff --git a/scripting/workben/installer/FileUpdater.java b/scripting/workben/installer/FileUpdater.java new file mode 100644 index 000000000000..9d2b9ef30685 --- /dev/null +++ b/scripting/workben/installer/FileUpdater.java @@ -0,0 +1,268 @@ +import java.io.*; + +public class FileUpdater { + + public static void updateProtocolHandler( String installPath ) { + File in_file = null; + FileInputStream in = 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()) { //</oor:node> + count = count + 1; + //System.out.println(count + s); + 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+"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<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" ); + out.write( " <prop oor:name=\"Protocols\">\n" ); + out.write( " <value>script:*</value>\n" ); + out.write( " </prop>\n" ); + out.write( " </node>\n" ); + } + } + } + catch( Exception e ) { + System.out.println("\n Update ProtocolHandler Failed!"); + System.err.println(e); + } + finally { + try { + out.close(); + System.out.println("File closed"); + } + catch(Exception e) { + System.out.println("\n Update ProtocolHandler Failed! (Write error)"); + System.err.println(e); + } + } + }// updateProtocolHandler + + /* + public static void main( String[] args ) { + FileUpdater.updateProtocolHandler( "/scriptdev/neil/openoffice1.0.1ScriptFrame" ); + FileUpdater.updateStarBasicXLC( "/scriptdev/neil/openoffice1.0.1ScriptFrame" ); + }*/ + + public static void updateScriptXLC( String installPath ) { + + 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()) { //</oor:node> + count = count + 1; + //System.out.println(count + s); + if(s != null) { + s.trim(); + xmlArray[count] = s; + } + else + break; + } + } + catch( IOException ioe ) { + System.out.println( "Error reading updateScriptXLC information" ); + } + + 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" ); + out.write(" <library:library library:name=\"ScriptBindingLibrary\" xlink:href=\"file://"+installPath+"/user/basic/ScriptBindingLibrary/script.xlb/\" xlink:type=\"simple\" library:link=\"false\"/>\n" ); + } + } + } + catch( Exception e ) { + System.out.println("\n Update Script.xlc Failed!"); + System.err.println(e); + } + finally { + try { + out.close(); + //System.out.println("File closed"); + } + catch(Exception e) { + System.out.println("\n Update Script.xlc Failed! (Write error)"); + System.err.println(e); + } + } + }// updateScriptXLC + + + public static void updateDialogXLC( String installPath ) { + //System.out.println( installPath+File.separator+"user"+File.separator+"basic"+File.separator+"dialog.xlc" ); + File in_file = null; + FileInputStream in = 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" ); + //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]; + try { + 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(); + xmlArray[count] = s; + } + else + break; + } + } + catch( IOException ioe ) { + System.out.println( "Error reading Netbeans location information" ); + } + + + /* + 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" ); + out.write(" <library:library library:name=\"ScriptBindingLibrary\" xlink:href=\"file://"+installPath+"/user/basic/ScriptBindingLibrary/dialog.xlb/\" xlink:type=\"simple\" library:link=\"false\"/>\n" ); + } + } + } + catch( Exception e ) { + System.out.println("\n Update Dialog.xlc Failed!"); + System.err.println(e); + } + finally { + try { + out.close(); + //System.out.println("File closed"); + } + catch(Exception e) { + System.out.println("\n Update Dialog.xlc Failed! (Write error)"); + System.err.println(e); + } + } + }// updateScriptXLC + + +}
\ No newline at end of file |