diff -r b4183b61e0c7 -r 58764cb313d3 themeinstaller/source/src/com/nokia/tools/themeinstaller/odtconverter/ConverterProperties.java --- a/themeinstaller/source/src/com/nokia/tools/themeinstaller/odtconverter/ConverterProperties.java Tue Jan 26 13:19:36 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,153 +0,0 @@ -/* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: - * -*/ - - -package com.nokia.tools.themeinstaller.odtconverter; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.net.URL; -import java.util.Properties; - -/** - * Properties for ODT to XML converter - * @author jutarhon - */ -public class ConverterProperties extends Properties - { - /** - * Default serial version UID - */ - private static final long serialVersionUID = 1L; - private static final String PROPERTY_FILE = - "data" + File.separatorChar + "ThemeInstaller.prop"; - private static ConverterProperties sInstance = null; - private static String sPropFileName = null; - - /** - * Default constructor, loads the properties from default place - * @throws IOException If default file is not found or some other IO error occurs - */ - public ConverterProperties() throws IOException - { - // Get the execution location - URL resource = - getClass().getProtectionDomain().getCodeSource().getLocation(); - File bin = new File( resource.getPath() ); - - // Load properties from the Theme Installation directory - loadProperties( new File( - bin.getParent() + File.separatorChar + PROPERTY_FILE ) ); - } - - /** - * Constructor with specified properties file - * @param aFile File to read - * @throws IOException If given file is not found or some other IO error occurs - */ - public ConverterProperties( File aFile ) throws IOException - { - loadProperties( aFile ); - } - - /** - * Constructor with default values - * @param aDefaults Default properties values - * @throws IOException If default file is not found or some other IO error occurs - */ - public ConverterProperties( Properties aDefaults ) throws IOException - { - super( aDefaults ); - loadProperties( new File( PROPERTY_FILE ) ); - } - - /** - * Loads the properties from file - * @param aFile File to read - * @throws IOException If given file is not found or some other IO error occurs - */ - protected void loadProperties( File aFile ) throws IOException - { - FileInputStream file = null; - try - { - file = new FileInputStream( aFile ); - load( file ); - } - finally - { - if( file != null ) - { - file.close(); - } - } - } - - /** - * Singleton method for getting the ConverterProperties instance. Note that - * the initialize method must be called before this one. - * @return ConverterProperties instance - * @throws IllegalStateException if this method has been called before - * initialize has been called. - */ - public static ConverterProperties getInstance() - { - if( sInstance == null ) - { - throw new IllegalStateException( "Converter Properties: " + - "Initialize must be called before the properties " + - "can be used" ); - } - - return sInstance; - } - - /** - * Initialize method for constructing and reading the properties. The - * properties are re-initialized only if the given property file differs - * from the one used in the previous initialization. - * @param aPropFile Properties file - * @throws IOException If required properties can not be read from the - * property file. - */ - public static void initialize( File aPropFile ) - throws IOException - { - // Already initialized if: - // sInstance is not null AND - // sPropFileName equals with aPropFile - if( sInstance != null && - ( sPropFileName != null && aPropFile != null && sPropFileName.equals( aPropFile.getPath() ) || - ( sPropFileName == null && aPropFile == null ) ) ) - { - return; - } - - // Create a new instance - if( aPropFile == null ) - { - sInstance = new ConverterProperties(); - sPropFileName = null; - } - else - { - sInstance = new ConverterProperties( aPropFile ); - sPropFileName = aPropFile.getPath(); - } - } - }