protected Table setupSql2EntityRelatedTable( String entityName, DfCustomizeEntityInfo entityInfo, Map<String, DfColumnMeta> metaMap, String columnName, Column column, String pkRelatedTableName) { final DfColumnMeta columnMeta = metaMap.get(columnName); final String sql2EntityRelatedTableName = columnMeta.getSql2EntityRelatedTableName(); Table relatedTable = getRelatedTable(sql2EntityRelatedTableName); // first attack if (relatedTable == null) { if (pkRelatedTableName != null) { // second attack using PK-related relatedTable = getRelatedTable(pkRelatedTableName); if (relatedTable == null) { throwTableRelatedPrimaryKeyNotFoundException( entityName, entityInfo, pkRelatedTableName, columnName); } } else { return null; } } else { if (pkRelatedTableName != null) { if (!Srl.equalsFlexible(sql2EntityRelatedTableName, pkRelatedTableName)) { throwTableRelatedPrimaryKeyDifferentException( entityName, entityInfo, sql2EntityRelatedTableName, pkRelatedTableName, columnName); } } } column.setSql2EntityRelatedTable(relatedTable); return relatedTable; }
protected void setupColumnSizeContainsDigit( Map<String, DfColumnMeta> metaMap, String columnName, Column column) { final DfColumnMeta columnMeta = metaMap.get(columnName); final int columnSize = columnMeta.getColumnSize(); final int decimalDigits = columnMeta.getDecimalDigits(); column.setupColumnSize(columnSize, decimalDigits); }
protected String setupSql2EntityForcedJavaNative( String entityName, DfCustomizeEntityInfo entityInfo, final Map<String, DfColumnMeta> metaMap, String columnName, final Column column) { final DfColumnMeta metaInfo = metaMap.get(columnName); final String sql2EntityForcedJavaNative = metaInfo.getSql2EntityForcedJavaNative(); column.setSql2EntityForcedJavaNative(sql2EntityForcedJavaNative); return sql2EntityForcedJavaNative; }
protected void setupColumnComment( Map<String, DfColumnMeta> metaMap, String columnName, Column column) { final DfColumnMeta columnMeta = metaMap.get(columnName); final String sql2EntityRelatedTableName = columnMeta.getSql2EntityRelatedTableName(); final Table relatedTable = getRelatedTable(sql2EntityRelatedTableName); String relatedComment = null; if (relatedTable != null) { final String relatedColumnName = columnMeta.getSql2EntityRelatedColumnName(); final Column relatedColumn = relatedTable.getColumn(relatedColumnName); if (relatedColumn != null) { relatedComment = relatedColumn.getPlainComment(); } } // the meta has its select column comment final String selectColumnComment = columnMeta.getColumnComment(); final String commentMark = "// "; final String delimiter = getAliasDelimiterInDbComment(); final StringBuilder sb = new StringBuilder(); if (Srl.is_NotNull_and_NotTrimmedEmpty(relatedComment)) { sb.append(relatedComment); if (Srl.is_NotNull_and_NotTrimmedEmpty(selectColumnComment)) { // both exist if (Srl.is_NotNull_and_NotTrimmedEmpty(delimiter)) { // use alias option if (relatedComment.contains(delimiter)) { // resolved in related comment sb.append(ln()).append(commentMark).append(selectColumnComment); } else { // unresolved yet if (isDbCommentOnAliasBasis()) { // related comment is alias sb.append(delimiter); } else { // related comment is description sb.append(ln()); } sb.append(commentMark).append(selectColumnComment); } } else { // no alias option sb.append(ln()).append(commentMark).append(selectColumnComment); } } } else { // not found related comment if (Srl.is_NotNull_and_NotTrimmedEmpty(selectColumnComment)) { if (Srl.is_NotNull_and_NotTrimmedEmpty(delimiter)) { // use alias option if (isDbCommentOnAliasBasis()) { // select column comment is treated as description sb.append(delimiter); } } sb.append(commentMark).append(selectColumnComment); } } column.setPlainComment(sb.toString()); }
protected String getColumnTorqueType(DfColumnMeta columnMeta) { if (columnMeta.isProcedureParameter() && !_columnHandler.hasMappingJdbcType(columnMeta)) { // unknown type of procedure parameter should be treated as Object return TypeMap.OTHER; } else { return _columnHandler.getColumnJdbcType(columnMeta); } }
protected void setupDbType(Map<String, DfColumnMeta> metaMap, String columnName, Column column) { final DfColumnMeta columnMeta = metaMap.get(columnName); final String dbTypeName; final String plainName = columnMeta.getDbTypeName(); if (Srl.contains(plainName, ".")) { // basically for ARRAY and STRUCT type final String catalogSchema = Srl.substringLastFront(plainName, "."); final UnifiedSchema unifiedSchema = UnifiedSchema.createAsDynamicSchema(catalogSchema); if (unifiedSchema.isMainSchema()) { dbTypeName = Srl.substringLastRear(plainName, "."); } else { dbTypeName = plainName; } } else { dbTypeName = plainName; } column.setDbType(dbTypeName); }
protected Column setupSql2EntityRelatedColumn( String entityName, DfCustomizeEntityInfo entityInfo, Table relatedTable, Map<String, DfColumnMeta> metaMap, String columnName, Column column) { if (relatedTable == null) { return null; } final DfColumnMeta metaInfo = metaMap.get(columnName); final String sql2EntityRelatedColumnName = metaInfo.getSql2EntityRelatedColumnName(); final Column relatedColumn = relatedTable.getColumn(sql2EntityRelatedColumnName); if (relatedColumn == null) { return null; } column.setSql2EntityRelatedColumn(relatedColumn); return column; }
protected void setupNotNull(Map<String, DfColumnMeta> metaMap, String columnName, Column column) { // basically not meta data so false, true might be from select column specification final DfColumnMeta columnMeta = metaMap.get(columnName); column.setNotNull(columnMeta.isRequired()); }