1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 package helper; 28 29 import com.sun.star.beans.PropertyValue; 30 import com.sun.star.beans.XPropertySet; 31 import com.sun.star.lang.XMultiServiceFactory; 32 import com.sun.star.uno.UnoRuntime; 33 34 // access the implementations via names 35 import com.sun.star.util.XChangesBatch; 36 37 import lib.TestParameters; 38 39 40 public class InetTools { 41 /** 42 * Helper method: sets the HTTP-Proxy to values from 43 * <code>lib.TestParameters</code> 44 */ 45 public static boolean setHTTPProxy(TestParameters param){ 46 XMultiServiceFactory xMSF = (XMultiServiceFactory) param.getMSF(); 47 PropertyValue[] ProvArgs = new PropertyValue[1]; 48 PropertyValue Arg = new PropertyValue(); 49 Arg.Name = "nodepath"; 50 Arg.Value = "/org.openoffice.Inet/Settings"; 51 ProvArgs[0] = Arg; 52 53 try { 54 Object oProvider = xMSF.createInstance( 55 "com.sun.star.configuration.ConfigurationProvider"); 56 57 XMultiServiceFactory oProviderMSF = (XMultiServiceFactory) UnoRuntime.queryInterface( 58 XMultiServiceFactory.class, 59 oProvider); 60 61 Object oInet = oProviderMSF.createInstanceWithArguments( 62 "com.sun.star.configuration.ConfigurationUpdateAccess", 63 ProvArgs); 64 65 XPropertySet oInetProps = (XPropertySet) UnoRuntime.queryInterface( 66 XPropertySet.class, oInet); 67 68 String HTTPProxyName = (String)param.get("HTTPProxyName"); 69 String HTTPProxyPort = (String)param.get("HTTPProxyPort"); 70 71 if ((HTTPProxyName == null) || (HTTPProxyPort == null)) { 72 return false; 73 } 74 75 oInetProps.setPropertyValue("ooInetHTTPProxyName", HTTPProxyName); 76 oInetProps.setPropertyValue("ooInetHTTPProxyPort", HTTPProxyPort); 77 oInetProps.setPropertyValue("ooInetProxyType", new Long(2)); 78 79 XChangesBatch oSecureChange = (XChangesBatch) UnoRuntime.queryInterface( 80 XChangesBatch.class, oInet); 81 oSecureChange.commitChanges(); 82 } 83 catch(com.sun.star.uno.Exception e) { 84 e.printStackTrace(); 85 } 86 return true; 87 } 88 } 89