package system.rsrserver;

import java.util.*;
import java.io.*;
//import market.util.text.MasEnums;
//import market.util.LogPrinter;

/**
 * Contain all init data to start the srcServer. <br>
 * It loads th srcServer configuration file. <br>
 * Creation date: (12/29/99 3:42:38 PM) <br>
 * @author: tin <br>
 * modification: lex <br>
 */

public class ConfigRSRServer {

	public static String sDBName = "Rsr";
	public static String namesDBName = "DBName";
	
	public static String sMYSQLDriver = "org.gjt.mm.mysql.Driver";
	public static String namesMYSQLDriver = "MYSQLDriver";
	
	public static String sDBLocation = "jdbc:mysql://localhost:3306/";
	public static String namesDBLocation = "DBLocation";
	
	public static String sDBUser = "esof";
	public static String namesDBUser = "DBUser";
	
	public static String sDBPass = "";
	public static String namesDBPass = "DBPass";
	
	public static String sLogFilePath = "/home/esof/esof/rsrServerLog";
	public static String namesLogFilePath = "logFilePath";
	
	public static String sRSRCfgPath = "d:\\saso_docs\\service\\cfg\\rsrServer_.cfg";
/**
 * This is a constructor. <br>
 * Creation date: (1/6/00 4:57:29 PM) <br>
 */
public ConfigRSRServer() {
	super();
}
/**
 * Load file whit market init  <br>
 * Creation date: (1/6/00 4:03:18 PM) <br>
 * @return boolean <br>
 * @param fileProperty java.lang.String <br>
 */
public static boolean cfgLoadProperty(String fileProperty) {
	Properties prop = new Properties();
	FileInputStream propStream;
	try{
		propStream = new FileInputStream( fileProperty );
		prop.load(propStream);
		propStream.close();
	}
	catch( FileNotFoundException e ){
		return false;
	}
	catch( IOException e ){
		return false;
	}
	sDBName = prop.getProperty(namesDBName, sDBName);
	sMYSQLDriver = prop.getProperty(namesMYSQLDriver, sMYSQLDriver);
	sDBLocation = prop.getProperty(namesDBLocation, sDBLocation);
	sDBUser = prop.getProperty(namesDBUser, sDBUser);
	sDBPass = prop.getProperty(namesDBPass, sDBPass);
	sLogFilePath = prop.getProperty(namesLogFilePath, sLogFilePath);
	return true;
}
/**
 * Save file whit market init data <br>
 * Creation date: (1/6/00 4:03:18 PM) <br>
 * @return boolean <br>
 * @param fileProperty java.lang.String <br>
 */
public static boolean cfgSaveProperty( String fileProperty ) {
	StringBuffer tmp = new StringBuffer( 2000 );
	tmp.append(namesDBName); tmp.append("="); tmp.append(sDBName); tmp.append("\n");
	tmp.append(namesMYSQLDriver); tmp.append("="); tmp.append(sMYSQLDriver); tmp.append("\n");
	tmp.append(namesDBLocation); tmp.append("="); tmp.append(sDBLocation); tmp.append("\n");
	tmp.append(namesDBUser); tmp.append("="); tmp.append(sDBUser); tmp.append("\n");
	tmp.append(namesDBPass); tmp.append("="); tmp.append(sDBPass); tmp.append("\n");
	tmp.append(namesLogFilePath); tmp.append("="); tmp.append(sLogFilePath); tmp.append("\n");
	FileWriter propStream;
	try{
		propStream = new FileWriter( fileProperty );
		propStream.write( tmp.toString() );
		propStream.close();
	}
	catch( FileNotFoundException e ){
		System.out.println( "Can't find file path : " + fileProperty );
		return false;
	}
	catch( IOException e ){
		System.out.println( "Can't write to file: " + fileProperty );
		return false;
	}
	
	return true;
}
/**
 * Load propertys from market.cfg file and create logPrinter. <br>
 * Creation date: (29.2.2000 a. 22:31:42) <br>
 * @return boolean <br>
 * @param cfgPath java.lang.String <br>
 */
public synchronized static boolean init(String cfgPath) {
// Load file: market.cfg ( marketName, marketDescribtion, ... ) in static field on ConfigMarket

	sRSRCfgPath = cfgPath;

	if ( cfgLoadProperty( cfgPath ) ){
		return true;
	}
	return false;
}
/**
 * Set Value of configuration parameter. <br>
 * Creation date: (16.2.00 16:00:55) <br>
 * @return boolean <br>
 * @param paramName java.lang.String <br>
 * @param paramValue java.lang.String <br>
 */
public static boolean setParam( String paramName, String paramValue ) {
	if ( paramName.equalsIgnoreCase(namesDBName) ) {
		sDBName = paramValue;
		return true;
	} 
	if ( paramName.equalsIgnoreCase(namesMYSQLDriver) ) {
		sMYSQLDriver = paramValue;
		return true;
	}
	if ( paramName.equalsIgnoreCase(namesDBLocation) ) {
		sDBLocation = paramValue;
		return true;
	} 
	if ( paramName.equalsIgnoreCase(namesDBUser) ) {
		sDBUser = paramValue;
		return true;
	} 
	if ( paramName.equalsIgnoreCase(namesDBPass) ) {
		sDBPass = paramValue;
		return true;
	} 
	if ( paramName.equalsIgnoreCase(namesLogFilePath) ) {
		sLogFilePath = paramValue;
		return true;
	} 
	return false;
}
}

