// Path: DataAccessLayer/dal/src/main/java/com/erc/dal/upgrade/DBConfig.java
// public class DBConfig {
//     private String dataBaseName;
//     private int version;
//     private int currentVersionCache;
//     private long tableCountCache;
//     private String url;
//     private Context context;
//     private String packageFilter;
//     private UpgradeListener upgradeListener;
// 
//     public DBConfig(Context context, String dataBaseName, int version, String url) {
//         this.context = context;
//         this.dataBaseName = dataBaseName;
//         this.version = version;
//         setUrl(url);
//         if (Util.isNullOrEmpty(dataBaseName)) {
//             this.dataBaseName = SQLiteDatabaseManager.getDataBaseName(context);
//         }
//     }
// 
//     public UpgradeListener getUpgradeListener() {
//         return upgradeListener;
//     }
// 
//     public void setOnUpgradeListener(UpgradeListener upgradeListener) {
//         this.upgradeListener = upgradeListener;
//     }
// 
//     public Context getContext() {
//         return context;
//     }
// 
//     public void setContext(Context context) {
//         this.context = context;
//     }
// 
//     public String getDataBaseName() {
//         return dataBaseName;
//     }
// 
//     public void setDataBaseName(String dataBaseName) {
//         this.dataBaseName = dataBaseName;
//     }
// 
//     public int getVersion() {
//         return version;
//     }
// 
//     int getCurrentVersionCache() {
//         return currentVersionCache;
//     }
// 
//     void setCurrentVersionCache(int currentVersionCache) {
//         this.currentVersionCache = currentVersionCache;
//     }
// 
//     public long getTableCountCache() {
//         return tableCountCache;
//     }
// 
//     public void setTableCountCache(long tableCountCache) {
//         this.tableCountCache = tableCountCache;
//     }
// 
//     public String getUrl() {
//         return url;
//     }
// 
//     public void setUrl(String url) {
//         if (url == null) {
//             url = "";
//         }
//         this.url = url.replaceAll("/$", "");
//     }
// 
//     public String getPackageFilter() {
//         return packageFilter;
//     }
// 
//     public void setPackageFilter(String packageFilter) {
//         this.packageFilter = packageFilter;
//     }
// }


import android.text.TextUtils;
import com.erc.dal.upgrade.DBConfig;
import java.lang.reflect.Field;
import java.util.ArrayList;
            if (pair != null) {
                sb.append(Constant.DELETE.replaceFirst(Constant.KEYS, pair.toString()));
                String table = geTableName(entity);
                return sb.toString().replaceAll(Constant.TABLE, table);
            }
        } catch (Exception e) {
            Log.e("Error getQueryRemove()", e);
        }
        return null;
    }

    public static String getQueryInsert(Entity entity) {
        StringBuffer sb = new StringBuffer();
        try {
            NameValue namesValues = getNamesValues(entity);
            sb.append(Constant.INSERT.replaceFirst(Constant.FIELDS, namesValues.getName().toString()).
                    replaceFirst(Constant.VALUES, namesValues.getValue().toString()));
        } catch (Exception e) {
            Log.e("Error getQueryInsert()", e);
        }
        String table = geTableName(entity.getClass());
        return sb.toString().replaceAll(Constant.TABLE, table);
    }

    public static String getQueryUpdate(Entity entity) {
        StringBuffer sb = new StringBuffer();
        try {
            Pair pair = getPrimaryKey(entity);
            if (pair != null) {
                sb.append(Constant.UPDATE.replaceFirst(Constant.PAIRS, getPairs(entity)).
// Path: DataAccessLayer/dal/src/main/java/com/erc/dal/upgrade/DBConfig.java
// public class DBConfig {
//     private String dataBaseName;
//     private int version;
//     private int currentVersionCache;
//     private long tableCountCache;
//     private String url;
//     private Context context;
//     private String packageFilter;
//     private UpgradeListener upgradeListener;
// 
//     public DBConfig(Context context, String dataBaseName, int version, String url) {
//         this.context = context;
//         this.dataBaseName = dataBaseName;
//         this.version = version;
//         setUrl(url);
//         if (Util.isNullOrEmpty(dataBaseName)) {
//             this.dataBaseName = SQLiteDatabaseManager.getDataBaseName(context);
//         }
//     }
// 
//     public UpgradeListener getUpgradeListener() {
//         return upgradeListener;
//     }
// 
//     public void setOnUpgradeListener(UpgradeListener upgradeListener) {
//         this.upgradeListener = upgradeListener;
//     }
// 
//     public Context getContext() {
//         return context;
//     }
// 
//     public void setContext(Context context) {
//         this.context = context;
//     }
// 
//     public String getDataBaseName() {
//         return dataBaseName;
//     }
// 
//     public void setDataBaseName(String dataBaseName) {
//         this.dataBaseName = dataBaseName;
//     }
// 
//     public int getVersion() {
//         return version;
//     }
// 
//     int getCurrentVersionCache() {
//         return currentVersionCache;
//     }
// 
//     void setCurrentVersionCache(int currentVersionCache) {
//         this.currentVersionCache = currentVersionCache;
//     }
// 
//     public long getTableCountCache() {
//         return tableCountCache;
//     }
// 
//     public void setTableCountCache(long tableCountCache) {
//         this.tableCountCache = tableCountCache;
//     }
// 
//     public String getUrl() {
//         return url;
//     }
// 
//     public void setUrl(String url) {
//         if (url == null) {
//             url = "";
//         }
//         this.url = url.replaceAll("/$", "");
//     }
// 
//     public String getPackageFilter() {
//         return packageFilter;
//     }
// 
//     public void setPackageFilter(String packageFilter) {
//         this.packageFilter = packageFilter;
//     }
// }


// Path: DataAccessLayer/dal/src/main/java/com/erc/dal/QueryBuilder.java
import android.text.TextUtils;
import com.erc.dal.upgrade.DBConfig;
import java.lang.reflect.Field;
import java.util.ArrayList;

            if (pair != null) {
                sb.append(Constant.DELETE.replaceFirst(Constant.KEYS, pair.toString()));
                String table = geTableName(entity);
                return sb.toString().replaceAll(Constant.TABLE, table);
            }
        } catch (Exception e) {
            Log.e("Error getQueryRemove()", e);
        }
        return null;
    }

    public static String getQueryInsert(Entity entity) {
        StringBuffer sb = new StringBuffer();
        try {
            NameValue namesValues = getNamesValues(entity);
            sb.append(Constant.INSERT.replaceFirst(Constant.FIELDS, namesValues.getName().toString()).
                    replaceFirst(Constant.VALUES, namesValues.getValue().toString()));
        } catch (Exception e) {
            Log.e("Error getQueryInsert()", e);
        }
        String table = geTableName(entity.getClass());
        return sb.toString().replaceAll(Constant.TABLE, table);
    }

    public static String getQueryUpdate(Entity entity) {
        StringBuffer sb = new StringBuffer();
        try {
            Pair pair = getPrimaryKey(entity);
            if (pair != null) {
                sb.append(Constant.UPDATE.replaceFirst(Constant.PAIRS, getPairs(entity)).
                        replaceFirst(Constant.KEYS, pair.toString()));