Missing code from previous version causing problems on

Feature Request [1772015] Generate java Interface and implementation instead of X_ classes
This commit is contained in:
Carlos Ruiz 2008-02-20 21:39:43 +00:00
parent bb271ef34d
commit d547eca34b
1 changed files with 13 additions and 3 deletions

View File

@ -293,7 +293,7 @@ public class ModelClassGenerator
String sql = "SELECT c.ColumnName, c.IsUpdateable, c.IsMandatory," // 1..3 String sql = "SELECT c.ColumnName, c.IsUpdateable, c.IsMandatory," // 1..3
+ " c.AD_Reference_ID, c.AD_Reference_Value_ID, DefaultValue, SeqNo, " // 4..7 + " c.AD_Reference_ID, c.AD_Reference_Value_ID, DefaultValue, SeqNo, " // 4..7
+ " c.FieldLength, c.ValueMin, c.ValueMax, c.VFormat, c.Callout, " // 8..12 + " c.FieldLength, c.ValueMin, c.ValueMax, c.VFormat, c.Callout, " // 8..12
+ " c.Name, c.Description, c.ColumnSQL, c.IsEncrypted, c.IsKey " + " c.Name, c.Description, c.ColumnSQL, c.IsEncrypted, c.IsKey, c.IsIdentifier " // 13..18
+ "FROM AD_Column c " + "FROM AD_Column c "
+ "WHERE c.AD_Table_ID=?" + "WHERE c.AD_Table_ID=?"
+ " AND c.ColumnName <> 'AD_Client_ID'" + " AND c.ColumnName <> 'AD_Client_ID'"
@ -303,6 +303,7 @@ public class ModelClassGenerator
+ " AND c.ColumnName NOT LIKE 'Updated%' " + " AND c.ColumnName NOT LIKE 'Updated%' "
+ " AND c.IsActive='Y'" + " AND c.IsActive='Y'"
+ " ORDER BY c.ColumnName"; + " ORDER BY c.ColumnName";
boolean isKeyNamePairCreated = false; // true if the method "getKeyNamePair" is already generated
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
try try
{ {
@ -329,6 +330,7 @@ public class ModelClassGenerator
boolean virtualColumn = ColumnSQL != null && ColumnSQL.length() > 0; boolean virtualColumn = ColumnSQL != null && ColumnSQL.length() > 0;
boolean IsEncrypted = "Y".equals(rs.getString(16)); boolean IsEncrypted = "Y".equals(rs.getString(16));
boolean IsKey = "Y".equals(rs.getString(17)); boolean IsKey = "Y".equals(rs.getString(17));
boolean IsIdentifier = "Y".equals(rs.getString(18));
// //
sb.append( sb.append(
createColumnMethods (mandatory, createColumnMethods (mandatory,
@ -338,8 +340,16 @@ public class ModelClassGenerator
Callout, Name, Description, virtualColumn, IsEncrypted, IsKey) Callout, Name, Description, virtualColumn, IsEncrypted, IsKey)
); );
// //
if (seqNo == 1) if (seqNo == 1 && IsIdentifier) {
if (!isKeyNamePairCreated) {
sb.append(createKeyNamePair(columnName, displayType)); sb.append(createKeyNamePair(columnName, displayType));
isKeyNamePairCreated = true;
}
else {
throw new RuntimeException("More than one primary identifier found "
+ " (AD_Table_ID=" + AD_Table_ID + ", ColumnName=" + columnName + ")");
}
}
} }
rs.close(); rs.close();
pstmt.close(); pstmt.close();