- /*
- * @(#)GetORBPropertiesFileAction.java 1.8 03/01/23
- *
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
- */
-
- /*
- * (C) Copyright IBM Corp. 1993 - 1997 - All Rights Reserved
- *
- * The original version of this source code and documentation is
- * copyrighted and owned by IBM, Inc. These materials are provided under
- * terms of a License Agreement between IBM and Sun. This technology is
- * protected by multiple US and International patents. This notice and
- * attribution to IBM may not be removed.
- *
- */
-
-
- package javax.rmi.CORBA;
-
- import java.io.IOException;
- import java.io.File;
- import java.io.FileInputStream;
-
- import java.security.AccessController;
- import java.security.PrivilegedAction;
- import sun.security.action.GetPropertyAction;
- import java.util.Properties;
-
- class GetORBPropertiesFileAction implements PrivilegedAction {
- private boolean debug = false ;
-
- public GetORBPropertiesFileAction () {
- }
-
- private String getSystemProperty(final String name) {
- // This will not throw a SecurityException because this
- // class was loaded from rt.jar using the bootstrap classloader.
- String propValue = (String) AccessController.doPrivileged(
- new PrivilegedAction() {
- public java.lang.Object run() {
- return System.getProperty(name);
- }
- }
- );
-
- return propValue;
- }
-
- private void getPropertiesFromFile( Properties props, String fileName )
- {
- try {
- File file = new File( fileName ) ;
- if (!file.exists())
- return ;
-
- FileInputStream in = new FileInputStream( file ) ;
-
- try {
- props.load( in ) ;
- } finally {
- in.close() ;
- }
- } catch (Exception exc) {
- if (debug)
- System.out.println( "ORB properties file " + fileName +
- " not found: " + exc) ;
- }
- }
-
- public Object run()
- {
- Properties defaults = new Properties() ;
-
- String javaHome = getSystemProperty( "java.home" ) ;
- String fileName = javaHome + File.separator + "lib" + File.separator +
- "orb.properties" ;
-
- getPropertiesFromFile( defaults, fileName ) ;
-
- Properties results = new Properties( defaults ) ;
-
- String userHome = getSystemProperty( "user.home" ) ;
- fileName = userHome + File.separator + "orb.properties" ;
-
- getPropertiesFromFile( results, fileName ) ;
- return results ;
- }
- }