package system.SDVServer;

import java.util.*;
import java.io.*;

/**
 * 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 ConfigSDVServer {

	public static String sRSRServerLocation = "http://www.server.esof/lext/ResourceServer?";
	public static String namesRSRServerLocation = "RSRServerLocation";

	public static String sDBDriverLocation = "org.gjt.mm.mysql.Driver";
	public static String namesDBDriverLocation = "DBDriverLocation";
		
	public static String sDBNameRWDV = "rwDayValues";
	public static String namesDBNameRWDV = "DBNameRWDV";
		
	public static String sDBRWDVLocation = "jdbc:mysql://www.server.esof:3306/";
	public static String namesDBRWDVLocation = "DBRWDVLocation";
	
	public static String sDBRWDVUser = "root";
	public static String namesDBRWDVUser = "DBRWDVUser";
	
	public static String sDBRWDVPass = "";
	public static String namesDBRWDVPass = "DBRWDVPass";
	
	public static String sDBNameRWMarketDV = "rwMarketDayValues";
	public static String namesDBNameRWMarketDV = "DBNameRWMarketDV";
	
	public static String sDBRWMarketDVLocation = "jdbc:mysql://www.server.esof:3306/";
	public static String namesDBRWMarketDVLocation = "DBRWMarketDVLocation";
	
	public static String sDBRWMarketUser = "root";
	public static String namesDBRWMarketUser = "DBRWMarketUser";
	
	public static String sDBRWMarketPass = "";
	public static String namesDBRWMarketPass = "DBRWMarketPass";
	
//	public static String sLogFilePath = "d:\\saso_docs\\service\\sdvServerLog";
	public static String sLogFilePath = "/home/esof/esof/cfg/sdvServer.cfg";
	public static String namesLogFilePath = "logFilePath";
	
	public static String sSDVCfgPath = "/home/esof/esof/cfg/sdvServer.cfg";
/**
 * This is constructor.
 * Creation date: (1/6/00 4:57:29 PM)
 */
public ConfigSDVServer() {
	super();
}
/**
 * Load file whit market init data
 * Creation date: (1/6/00 4:03:18 PM)
 * @return boolean
 * @param fileProperty java.lang.String
 */
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;
	}
	sRSRServerLocation = prop.getProperty(namesRSRServerLocation, sRSRServerLocation);
	sDBDriverLocation = prop.getProperty(namesDBDriverLocation, sDBDriverLocation);
	
	sDBNameRWDV = prop.getProperty(namesDBNameRWDV, sDBNameRWDV);
	sDBRWDVLocation = prop.getProperty(namesDBRWDVLocation, sDBRWDVLocation);
	sDBRWDVUser = prop.getProperty(namesDBRWDVUser, sDBRWDVUser);
	sDBRWDVPass = prop.getProperty(namesDBRWDVPass, sDBRWDVPass);

	sDBNameRWMarketDV = prop.getProperty(namesDBNameRWMarketDV, sDBNameRWMarketDV);
	sDBRWMarketDVLocation = prop.getProperty(namesDBRWMarketDVLocation, sDBRWMarketDVLocation);
	sDBRWMarketUser = prop.getProperty(namesDBRWMarketUser, sDBRWMarketUser);
	sDBRWMarketPass = prop.getProperty(namesDBRWMarketPass, sDBRWMarketPass);

	sLogFilePath = prop.getProperty(namesLogFilePath, sLogFilePath);
	
	return true;
	
}
/**
 * Save file whit market init data
 * Creation date: (1/6/00 4:03:18 PM)
 * @return boolean
 * @param fileProperty java.lang.String
 */
public static boolean cfgSaveProperty( String fileProperty ) {
	StringBuffer tmp = new StringBuffer( 2000 );
	tmp.append(namesRSRServerLocation); tmp.append("="); tmp.append(sRSRServerLocation); tmp.append("\n");
	tmp.append(namesDBDriverLocation); tmp.append("="); tmp.append(sDBDriverLocation); tmp.append("\n");	
	tmp.append(namesDBNameRWDV); tmp.append("="); tmp.append(sDBNameRWDV); tmp.append("\n");
	tmp.append(namesDBRWDVLocation); tmp.append("="); tmp.append(sDBRWDVLocation); tmp.append("\n");
	tmp.append(namesDBRWDVUser); tmp.append("="); tmp.append(sDBRWDVUser); tmp.append("\n");
	tmp.append(namesDBRWDVPass); tmp.append("="); tmp.append(sDBRWDVPass); tmp.append("\n");
	tmp.append(namesDBNameRWMarketDV); tmp.append("="); tmp.append(sDBNameRWMarketDV); tmp.append("\n");
	tmp.append(namesDBRWMarketDVLocation); tmp.append("="); tmp.append(sDBRWMarketDVLocation); tmp.append("\n");
	tmp.append(namesDBRWMarketUser); tmp.append("="); tmp.append(sDBRWMarketUser); tmp.append("\n");
	tmp.append(namesDBRWMarketPass); tmp.append("="); tmp.append(sDBRWMarketPass); 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;
}
public static void FillAcceptCharEnums() {

//	AcceptCharEnum = new MasEnums();
	
}
/**
 * Load propertys from market.cfg file and create logPrinter .
 * Creation date: (29.2.2000 a. 22:31:42)
 * @return boolean
 * @param cfgPath java.lang.String
 */
public synchronized static boolean init(String cfgPath) {
// Load file: market.cfg ( marketName, marketDescribtion, ... ) in static field on ConfigMarket

	sSDVCfgPath = cfgPath;

	if ( cfgLoadProperty( cfgPath ) ){
		FillAcceptCharEnums();
		return true;
	}
	return false;
}
/**
 * Set Value of configuration parameter.
 * Creation date: (16.2.00 16:00:55)
 * @return boolean
 * @param paramName java.lang.String
 * @param paramValue java.lang.String
 */
public static boolean setParam( String paramName, String paramValue ) {
	if ( paramName.equalsIgnoreCase(namesRSRServerLocation) ) {
		sRSRServerLocation = paramValue;
		return true;
	}
	if ( paramName.equalsIgnoreCase(namesDBDriverLocation) ) {
		sDBDriverLocation = paramValue;
		return true;
	}
	
	if ( paramName.equalsIgnoreCase(namesDBNameRWDV) ) {
		sDBNameRWDV = paramValue;
		return true;
	} 
	if ( paramName.equalsIgnoreCase(namesDBRWDVLocation) ) {
		sDBRWDVLocation = paramValue;
		return true;
	} 
	if ( paramName.equalsIgnoreCase(namesDBRWDVUser) ) {
		sDBRWDVUser = paramValue;
		return true;
	} 
	if ( paramName.equalsIgnoreCase(namesDBRWDVPass) ) {
		sDBRWDVPass = paramValue;
		return true;
	}
		if ( paramName.equalsIgnoreCase(namesDBNameRWMarketDV) ) {
		sDBNameRWMarketDV = paramValue;
		return true;
	} 
	if ( paramName.equalsIgnoreCase(namesDBRWMarketDVLocation) ) {
		sDBRWMarketDVLocation = paramValue;
		return true;
	} 
	if ( paramName.equalsIgnoreCase(namesDBRWMarketUser) ) {
		sDBRWMarketUser = paramValue;
		return true;
	} 
	if ( paramName.equalsIgnoreCase(namesDBRWMarketPass) ) {
		sDBRWMarketPass = paramValue;
		return true;
	}
	if ( paramName.equalsIgnoreCase(namesLogFilePath) ) {
		sLogFilePath = paramValue;
		return true;
	} 
	return false;
}
}

