package system.srcserver;

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

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

public class ConfigSrcServer {

	public static String sRSRServerLocation = "http://www.server.esof/esofia/ResourceServer?";
	public static String namesRSRServerLocation = "RSRServerLocation";
	
	public static String sDBName = "Src";
	public static String namesDBName = "DBName";
	
	public static String sDBDriverLocation = "org.gjt.mm.mysql.Driver";
	public static String namesDBDriverLocation = "DBDriverLocation";
	
	public static String sDBLocation = "jdbc:mysql://www.server.esof:3306/";
	public static String namesDBLocation = "DBLocation";
	
	public static String sDBUser = "root";
	public static String namesDBUser = "DBUser";
	
	public static String sDBPass = "";
	public static String namesDBPass = "DBPass";
	
	public static String sLogFilePath = "d:\\saso_docs\\service\\srcServerLog";
	public static String namesLogFilePath = "logFilePath";
	
	public static String sSrcCfgPath = "d:\\saso_docs\\service\\cfg\\srcServer.cfg";
/**
 * This is constructor. <br>
 * Creation date: (1/6/00 4:57:29 PM) <br>
 */
public ConfigSrcServer() {
	super();
}
/**
 * Load 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 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);
	sDBName = prop.getProperty(namesDBName, sDBName);
	sDBDriverLocation = prop.getProperty(namesDBDriverLocation, sDBDriverLocation);
	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(namesRSRServerLocation); tmp.append("="); tmp.append(sRSRServerLocation); tmp.append("\n");
	tmp.append(namesDBName); tmp.append("="); tmp.append(sDBName); tmp.append("\n");
	tmp.append(namesDBDriverLocation); tmp.append("="); tmp.append(sDBDriverLocation); 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;
}
public static void FillAcceptCharEnums() {

//	AcceptCharEnum = new MasEnums();
	
}
/**
 * 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 static boolean init(String cfgPath) {
// Load file: market.cfg ( marketName, marketDescribtion, ... ) in static field on ConfigMarket

	sSrcCfgPath = cfgPath;

	if ( cfgLoadProperty( cfgPath ) ){
		FillAcceptCharEnums();
		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(namesRSRServerLocation) ) {
		sRSRServerLocation = paramValue;
		return true;
	} 
	if ( paramName.equalsIgnoreCase(namesDBName) ) {
		sDBName = paramValue;
		return true;
	} 
	if ( paramName.equalsIgnoreCase(namesDBDriverLocation) ) {
		sDBDriverLocation = 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;
}
}

