package net.sf.minuteProject.utils; import net.sf.minuteProject.configuration.bean.AbstractConfiguration; import net.sf.minuteProject.configuration.bean.Model; import net.sf.minuteProject.configuration.bean.Template; import net.sf.minuteProject.configuration.bean.Package; import net.sf.minuteProject.configuration.bean.model.data.Column; import net.sf.minuteProject.configuration.bean.model.data.Table; import net.sf.minuteProject.configuration.bean.view.View; public class BslaLibraryUtils extends CommonUtils{ // TODO change the entire class so that the dependencies can be managed elsewhere // TODO then clean the whole dirty stuff // use introspection instead public static final String BslaDomainObjectTemplateName = "BslaDomainObject"; public static final String BslaDomainObjectUMLTemplateName = "DomainObjectUML"; public static final String BslaIbatisDaoSqlImplTemplateName = "BslaIbatisDaoSqlImpl"; public static final String BslaHiberateImplTemplateName = "BslaHibernateDaoImplUML"; public static final String BslaJPAImplTemplateName = "BslaJPADaoImplUML"; public static final String BslaDaoInterfaceTemplateName = "BslaDaoInterface"; public static final String BslaDaoInterfaceUMLTemplateName = "BslaDaoInterfaceUML"; public static final String ResourceBundle = "ResourceBundle"; // private static String getModelLevelTemplateFullPath (Model model, Template template, String targetTemplateName) { // return getPackageName(model, template, targetTemplateName) +"."+ getTemplateClassName (model, template, targetTemplateName); // } public static String getModelLevelTemplateFullClassPath (Model model, Template template, String targetTemplateName) { return FormatUtils.getDirFromPackage(getModelLevelTemplateFullPath(model, template, targetTemplateName)); } // private static String getPackageLevelTemplateFullPath(Model model, Package pack, Template template, String targetTemplateName) { // return getPackageName(model, pack, template, targetTemplateName) +"."+ getTemplateClassName (pack, template, targetTemplateName); // } // // public static String getPackageLevelTemplateFullClassPath(Model model, Package pack, Template template, String targetTemplateName) { // return FormatUtils.getDirFromPackage(getPackageLevelTemplateFullPath(model, pack, template, targetTemplateName)); // } private static String getEntityLevelTemplateFullPath(Table table, String targetTemplateName) { return getPackageName(table.getDatabase().getDataModel().getModel(), table, targetTemplateName) +"."+ getTemplateClassName (table, table.getDatabase().getDataModel().getModel(), targetTemplateName); } private static String getEntityTemplateFullClassPath(Model model, Table table, Template template, String targetTemplateName) { return FormatUtils.getDirFromPackage(getEntityLevelTemplateFullPath(model, table, template, targetTemplateName)); } public static String getDomainObjectImport (Model model, Table table, Template template) { return getEntityLevelTemplateFullPath(model, table, template, BslaDomainObjectTemplateName); } public static String getDomainObjectUMLImport (Model model, Table table, Template template) { try { return getEntityLevelTemplateFullPath(model, table, template, BslaDomainObjectUMLTemplateName); } catch (Exception e) { e.printStackTrace(); } return ""; } public static String getDomainObjectImport2 (Model model, Table table, Template template) { if (table!=null) return getEntityLevelTemplateFullPath(model, table, template, BslaDomainObjectTemplateName); return "ERROR_TABLE_NULL while getting domain import"; } public static String getDaoInterfaceName (Table table, Template template) { return getTemplateClassName (table, template, BslaDaoInterfaceTemplateName); } public static String getDaoInterfaceUMLName (Table table, Template template) { return getTemplateClassName (table, template, BslaDaoInterfaceUMLTemplateName); } public static String getDaoInterfaceVariableName (Table table, Template template) { return FormatUtils.getJavaNameVariableFirstLetter(getTemplateClassName (table, template, BslaDaoInterfaceTemplateName)); } public static String getDaoInterfaceClassName (Table table, Template template) { return getTemplateClassName (table, template, BslaDaoInterfaceTemplateName); } public static String getDaoInterfaceVariableUMLName (Table table, Template template) { return FormatUtils.getJavaNameVariableFirstLetter(getTemplateClassName (table, template, BslaDaoInterfaceUMLTemplateName)); //return FormatUtils.getJavaNameVariable(getTemplateClassName (table, template, BslaDaoInterfaceUMLTemplateName)); } public static String getDaoInterfaceClassUMLName (Table table, Template template) { return getTemplateClassName (table, template, BslaDaoInterfaceUMLTemplateName); } public static String getIbatisDaoSqlImplName (Table table, Template template) { return getTemplateClassName (table, template, BslaIbatisDaoSqlImplTemplateName); } public static String getDaoInterfaceImport (Model model, Table table, Template template) { return getEntityLevelTemplateFullPath(model, table, template, BslaDaoInterfaceTemplateName); } public static String getDaoInterfaceUMLImport (Model model, Table table, Template template) { return getEntityLevelTemplateFullPath(model, table, template, BslaDaoInterfaceUMLTemplateName); } public static String getIbatisDaoSqlImplImport (Model model, Table table, Template template) { return getEntityLevelTemplateFullPath(model, table, template, BslaIbatisDaoSqlImplTemplateName); } public static String getHibernateImplNameImport (Model model, Table table, Template template) { return getEntityLevelTemplateFullPath(model, table, template, BslaHiberateImplTemplateName); } public static String getJPAImplNameImport (Model model, Table table, Template template) { return getEntityLevelTemplateFullPath(model, table, template, BslaJPAImplTemplateName); } public static String getBundle(Table table) { return getEntityLevelTemplateFullPath (table, ResourceBundle); } public static String getJavaDefaultMask (Column column) { String type = ConvertUtils.getJavaTypeFromDBFullType(column); if (type!=null) { if (ConvertUtils.JAVA_TIMESTAMP_TYPE.equals(type)) return "timestampMask__"; if (ConvertUtils.JAVA_STRING_TYPE.equals(type)) return "stringMask__"; if (ConvertUtils.JAVA_BIGDECIMAL_TYPE.equals(type)) return "bigDecimalMask__"; if (ConvertUtils.JAVA_BIGINTEGER_TYPE.equals(type)) return "bigIntegerMask__"; if (ConvertUtils.JAVA_LONG_TYPE.equals(type)) return "longMask__"; if (ConvertUtils.JAVA_INTEGER_TYPE.equals(type)) return "integerMask__"; } return CommonUtils.getJavaDefaultMask(column); } public static String getJPAPersistenceXmlLocation (Template template, String def) { if (template.hasProperty("use-persistence-standard-location")) return "classpath:META-INF/persistence.xml"; return def; } }