package app.database.odb.utils;
import app.database.odb.core.Category;
import app.database.odb.core.ServiceCore;
import app.database.odb.core.ServiceDescription;
import app.navigps.utils.StringUtils;
/**
*
* @author Grzegorz (vara) Warywoda
*/
public class DBCharsetConverter {
private static Category convertToDefaultOSCharset(Category cat){
cat.setName(StringUtils.decode(cat.getName()));
return cat;
}
private static ServiceDescription convertToDefaultOSCharset(ServiceDescription sd){
sd.setServiceName(StringUtils.decode(sd.getServiceName()));
sd.setServiceStreet(StringUtils.decode(sd.getServiceStreet()));
sd.setCity(StringUtils.decode(sd.getCity()));
sd.setAdditionaInfo(StringUtils.decode(sd.getAdditionaInfo()));
convertToDefaultOSCharset(sd.getCategory());
return sd;
}
private static ServiceCore convertToDefaultOSCharset(ServiceCore sc){
convertToDefaultOSCharset(sc.getServiceDescription());
return sc;
}
public static Object convertToDefaultOSChar(Object obj){
if(obj instanceof ServiceCore){
System.out.println("Convert to "+StringUtils.CURRENT_ENCODING+" object ServiceCore");
return convertToDefaultOSCharset((ServiceCore)obj);
}else if(obj instanceof ServiceDescription){
System.out.println("Convert to "+StringUtils.CURRENT_ENCODING+" object ServiceDescription");
return convertToDefaultOSCharset((ServiceDescription)obj);
}else if(obj instanceof Category){
System.out.println("Convert to "+StringUtils.CURRENT_ENCODING+" object Category");
return convertToDefaultOSCharset((Category)obj);
}else{
System.out.println("** Not recognized object '"+obj+"'**");
}
return obj;
}
//convert objects to utf-8
private static Category convertToUTF8(Category cat){
cat.setName(StringUtils.encode(cat.getName()));
return cat;
}
private static ServiceDescription convertToUTF8(ServiceDescription sd){
sd.setServiceName(StringUtils.encode(sd.getServiceName()));
sd.setServiceStreet(StringUtils.encode(sd.getServiceStreet()));
sd.setCity(StringUtils.encode(sd.getCity()));
sd.setAdditionaInfo(StringUtils.encode(sd.getAdditionaInfo()));
sd.setServiceNumber(StringUtils.encode(sd.getServiceNumber()));
convertToUTF8(sd.getCategory());
return sd;
}
private static ServiceCore convertToUTF8(ServiceCore sc){
convertToUTF8(sc.getServiceDescription());
return sc;
}
public static Object convertToUTF8(Object obj){
if(obj instanceof ServiceCore){
System.out.println("Convert to UTF-8 object ServiceCore");
return convertToUTF8((ServiceCore)obj);
}else if(obj instanceof ServiceDescription){
System.out.println("Convert to UTF-8 object ServiceDescription");
return convertToUTF8((ServiceDescription)obj);
}else if(obj instanceof Category){
System.out.println("Convert to UTF-8 object Category");
return convertToUTF8((Category)obj);
}else{
System.out.println("** Not recognized object '"+obj+"'**");
}
return obj;
}
}