Author: doogie
Date: Wed Oct 17 20:53:30 2007 New Revision: 585842 URL: http://svn.apache.org/viewvc?rev=585842&view=rev Log: Java 1.5 markup for entity jdbc. Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/AbstractCursorHandler.java ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/CursorConnection.java ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/CursorResultSet.java ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/CursorStatement.java ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/DatabaseUtil.java ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/SQLProcessor.java ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/SqlJdbcUtil.java Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/AbstractCursorHandler.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/AbstractCursorHandler.java?rev=585842&r1=585841&r2=585842&view=diff ============================================================================== --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/AbstractCursorHandler.java (original) +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/AbstractCursorHandler.java Wed Oct 17 20:53:30 2007 @@ -50,7 +50,7 @@ return fetchSize; } - protected Object invoke(Object obj, Object proxy, Method method, Object[] args) throws Throwable { + protected Object invoke(Object obj, Object proxy, Method method, Object... args) throws Throwable { if ("toString".equals(method.getName())) { String str = obj.toString(); return getClass().getName() + "{" + str + "}"; @@ -58,11 +58,11 @@ return method.invoke(obj, args); } - protected static Object newHandler(InvocationHandler handler, Class implClass) throws IllegalAccessException, IllegalArgumentException, InstantiationException, InvocationTargetException, NoSuchMethodException, SecurityException { + protected static <T> T newHandler(InvocationHandler handler, Class<T> implClass) throws IllegalAccessException, IllegalArgumentException, InstantiationException, InvocationTargetException, NoSuchMethodException, SecurityException { ClassLoader loader = implClass.getClassLoader(); if (loader == null) loader = ClassLoader.getSystemClassLoader(); - Class proxyClass = Proxy.getProxyClass(loader, new Class[]{implClass}); - Constructor constructor = proxyClass.getConstructor(new Class[]{InvocationHandler.class}); - return constructor.newInstance(new Object[]{handler}); + Class<?> proxyClass = Proxy.getProxyClass(loader, implClass); + Constructor<?> constructor = proxyClass.getConstructor(InvocationHandler.class); + return implClass.cast(constructor.newInstance(handler)); } } Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/CursorConnection.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/CursorConnection.java?rev=585842&r1=585841&r2=585842&view=diff ============================================================================== --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/CursorConnection.java (original) +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/CursorConnection.java Wed Oct 17 20:53:30 2007 @@ -27,7 +27,7 @@ public class CursorConnection extends AbstractCursorHandler { public static Connection newCursorConnection(Connection con, String cursorName, int pageSize) throws Exception { - return (Connection) newHandler(new CursorConnection(con, cursorName, pageSize), Connection.class); + return newHandler(new CursorConnection(con, cursorName, pageSize), Connection.class); } protected Connection con; @@ -37,7 +37,7 @@ this.con = con; } - public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { + public Object invoke(Object proxy, Method method, Object... args) throws Throwable { if (method.getName().equals("prepareStatement")) { System.err.println("prepareStatement"); args[0] = "DECLARE " + cursorName + " CURSOR FOR " + args[0]; Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/CursorResultSet.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/CursorResultSet.java?rev=585842&r1=585841&r2=585842&view=diff ============================================================================== --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/CursorResultSet.java (original) +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/CursorResultSet.java Wed Oct 17 20:53:30 2007 @@ -61,6 +61,6 @@ } public static ResultSet newCursorResultSet(Statement stmt, String cursorName, int fetchSize) throws SQLException, Exception { - return (ResultSet) newHandler(new CursorResultSet(stmt, cursorName, fetchSize), ResultSet.class); + return newHandler(new CursorResultSet(stmt, cursorName, fetchSize), ResultSet.class); } } Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/CursorStatement.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/CursorStatement.java?rev=585842&r1=585841&r2=585842&view=diff ============================================================================== --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/CursorStatement.java (original) +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/CursorStatement.java Wed Oct 17 20:53:30 2007 @@ -87,10 +87,10 @@ } public static Statement newCursorStatement(Statement stmt, String cursorName, int fetchSize) throws Exception { - return (Statement) newHandler(new CursorStatement(stmt, cursorName, fetchSize), Statement.class); + return newHandler(new CursorStatement(stmt, cursorName, fetchSize), Statement.class); } public static PreparedStatement newCursorPreparedStatement(PreparedStatement pstmt, String cursorName, int fetchSize) throws Exception { - return (PreparedStatement) newHandler(new CursorStatement(pstmt, cursorName, fetchSize), PreparedStatement.class); + return newHandler(new CursorStatement(pstmt, cursorName, fetchSize), PreparedStatement.class); } } Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/DatabaseUtil.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/DatabaseUtil.java?rev=585842&r1=585841&r2=585842&view=diff ============================================================================== --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/DatabaseUtil.java (original) +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/DatabaseUtil.java Wed Oct 17 20:53:30 2007 @@ -121,11 +121,11 @@ /* ====================================================================== */ - public void checkDb(Map modelEntities, List messages, boolean addMissing) { + public void checkDb(Map<String, ModelEntity> modelEntities, List<String> messages, boolean addMissing) { checkDb(modelEntities, null, messages, datasourceInfo.checkPrimaryKeysOnStart, (datasourceInfo.useFks && datasourceInfo.checkForeignKeysOnStart), (datasourceInfo.useFkIndices && datasourceInfo.checkFkIndicesOnStart), addMissing); } - public void checkDb(Map modelEntities, List colWrongSize, List messages, boolean checkPks, boolean checkFks, boolean checkFkIdx, boolean addMissing) { + public void checkDb(Map<String, ModelEntity> modelEntities, List<String> colWrongSize, List<String> messages, boolean checkPks, boolean checkFks, boolean checkFkIdx, boolean addMissing) { if (isLegacy) { throw new RuntimeException("Cannot run checkDb on a legacy database connection; configure a database helper (entityengine.xml)"); } @@ -133,9 +133,9 @@ timer.timerString("Start - Before Get Database Meta Data"); // get ALL tables from this database - TreeSet tableNames = this.getTableNames(messages); - TreeSet fkTableNames = tableNames == null ? null : new TreeSet(tableNames); - TreeSet indexTableNames = tableNames == null ? null : new TreeSet(tableNames); + TreeSet<String> tableNames = this.getTableNames(messages); + TreeSet<String> fkTableNames = tableNames == null ? null : new TreeSet<String>(tableNames); + TreeSet<String> indexTableNames = tableNames == null ? null : new TreeSet<String>(tableNames); if (tableNames == null) { String message = "Could not get table name information from the database, aborting."; @@ -146,7 +146,7 @@ timer.timerString("After Get All Table Names"); // get ALL column info, put into hashmap by table name - Map colInfo = this.getColumnInfo(tableNames, checkPks, messages); + Map<String, Map<String, ColumnCheckInfo>> colInfo = this.getColumnInfo(tableNames, checkPks, messages); if (colInfo == null) { String message = "Could not get column information from the database, aborting."; if (messages != null) messages.add(message); @@ -164,16 +164,14 @@ timer.timerString("Before Individual Table/Column Check"); - ArrayList modelEntityList = new ArrayList(modelEntities.values()); + ArrayList<ModelEntity> modelEntityList = new ArrayList<ModelEntity>(modelEntities.values()); // sort using compareTo method on ModelEntity Collections.sort(modelEntityList); - Iterator modelEntityIter = modelEntityList.iterator(); int curEnt = 0; int totalEnt = modelEntityList.size(); - List entitiesAdded = FastList.newInstance(); - while (modelEntityIter.hasNext()) { + List<ModelEntity> entitiesAdded = FastList.newInstance(); + for (ModelEntity entity: modelEntityList) { curEnt++; - ModelEntity entity = (ModelEntity) modelEntityIter.next(); // if this is a view entity, do not check it... if (entity instanceof ModelViewEntity) { @@ -194,25 +192,21 @@ tableNames.remove(entity.getTableName(datasourceInfo)); if (colInfo != null) { - Map fieldColNames = FastMap.newInstance(); - Iterator fieldIter = entity.getFieldsIterator(); + Map<String, ModelField> fieldColNames = FastMap.newInstance(); + Iterator<ModelField> fieldIter = entity.getFieldsIterator(); while (fieldIter.hasNext()) { - ModelField field = (ModelField) fieldIter.next(); + ModelField field = fieldIter.next(); fieldColNames.put(field.getColName(), field); } - Map colMap = (Map) colInfo.get(entity.getTableName(datasourceInfo)); + Map<String, ColumnCheckInfo> colMap = colInfo.get(entity.getTableName(datasourceInfo)); if (colMap != null) { - Iterator colEntryIter = colMap.entrySet().iterator(); - while (colEntryIter.hasNext()) { - Map.Entry colEntry = (Map.Entry) colEntryIter.next(); - ColumnCheckInfo ccInfo = (ColumnCheckInfo) colEntry.getValue(); - + for (ColumnCheckInfo ccInfo: colMap.values()) { // -list all columns that do not have a corresponding field if (fieldColNames.containsKey(ccInfo.columnName)) { ModelField field = null; - field = (ModelField) fieldColNames.remove(ccInfo.columnName); + field = fieldColNames.remove(ccInfo.columnName); ModelFieldType modelFieldType = modelFieldTypeReader.getModelFieldType(field.getType()); if (modelFieldType != null) { @@ -321,9 +315,7 @@ } // -list all fields that do not have a corresponding column - Iterator fcnIter = fieldColNames.keySet().iterator(); - while (fcnIter.hasNext()) { - String colName = (String) fcnIter.next(); + for (String colName: fieldColNames.keySet()) { ModelField field = (ModelField) fieldColNames.get(colName); String message = "Field [" + field.getName() + "] of entity [" + entity.getEntityName() + "] is missing its corresponding column [" + field.getColName() + "]" + (field.getIsPk() ? " (and it is a PRIMARY KEY FIELD)" : ""); @@ -371,9 +363,7 @@ timer.timerString("After Individual Table/Column Check"); // -list all tables that do not have a corresponding entity - Iterator tableNamesIter = tableNames.iterator(); - while (tableNamesIter != null && tableNamesIter.hasNext()) { - String tableName = (String) tableNamesIter.next(); + for (String tableName: tableNames) { String message = "Table named [" + tableName + "] exists in the database but has no corresponding entity"; Debug.logWarning(message, module); if (messages != null) messages.add(message); @@ -382,9 +372,7 @@ // for each newly added table, add fk indices if (datasourceInfo.useFkIndices) { int totalFkIndices = 0; - Iterator eaIter = entitiesAdded.iterator(); - while (eaIter.hasNext()) { - ModelEntity curEntity = (ModelEntity) eaIter.next(); + for (ModelEntity curEntity: entitiesAdded) { if (curEntity.getRelationsOneSize() > 0) { totalFkIndices += this.createForeignKeyIndices(curEntity, datasourceInfo.constraintNameClipLength, messages); } @@ -395,9 +383,7 @@ // for each newly added table, add fks if (datasourceInfo.useFks) { int totalFks = 0; - Iterator eaIter = entitiesAdded.iterator(); - while (eaIter.hasNext()) { - ModelEntity curEntity = (ModelEntity) eaIter.next(); + for (ModelEntity curEntity: entitiesAdded) { totalFks += this.createForeignKeys(curEntity, modelEntities, datasourceInfo.constraintNameClipLength, datasourceInfo.fkStyle, datasourceInfo.useFkInitiallyDeferred, messages); } if (totalFks > 0) Debug.logImportant("==== TOTAL Foreign Keys Created: " + totalFks, module); @@ -406,9 +392,7 @@ // for each newly added table, add declared indexes if (datasourceInfo.useIndices) { int totalDis = 0; - Iterator eaIter = entitiesAdded.iterator(); - while (eaIter.hasNext()) { - ModelEntity curEntity = (ModelEntity) eaIter.next(); + for (ModelEntity curEntity: entitiesAdded) { if (curEntity.getIndexesSize() > 0) { totalDis += this.createDeclaredIndices(curEntity, messages); } @@ -424,7 +408,7 @@ // TODO: check each key-map to make sure it exists in the FK, if any differences warn and then remove FK and recreate it // get ALL column info, put into hashmap by table name - Map refTableInfoMap = this.getReferenceInfo(fkTableNames, messages); + Map<String, Map<String, ReferenceCheckInfo>> refTableInfoMap = this.getReferenceInfo(fkTableNames, messages); // Debug.logVerbose("Ref Info Map: " + refTableInfoMap, module); @@ -432,9 +416,7 @@ // uh oh, something happened while getting info... if (Debug.verboseOn()) Debug.logVerbose("Ref Table Info Map is null", module); } else { - Iterator refModelEntityIter = modelEntityList.iterator(); - while (refModelEntityIter.hasNext()) { - ModelEntity entity = (ModelEntity) refModelEntityIter.next(); + for (ModelEntity entity: modelEntityList) { String entityName = entity.getEntityName(); // if this is a view entity, do not check it... if (entity instanceof ModelViewEntity) { @@ -447,19 +429,19 @@ } // get existing FK map for this table - Map rcInfoMap = (Map) refTableInfoMap.get(entity.getTableName(datasourceInfo)); + Map<String, ReferenceCheckInfo> rcInfoMap = refTableInfoMap.get(entity.getTableName(datasourceInfo)); // Debug.logVerbose("Got ref info for table " + entity.getTableName(datasourceInfo) + ": " + rcInfoMap, module); // go through each relation to see if an FK already exists - Iterator relations = entity.getRelationsIterator(); + Iterator<ModelRelation> relations = entity.getRelationsIterator(); boolean createdConstraints = false; while (relations.hasNext()) { - ModelRelation modelRelation = (ModelRelation) relations.next(); + ModelRelation modelRelation = relations.next(); if (!"one".equals(modelRelation.getType())) { continue; } - ModelEntity relModelEntity = (ModelEntity) modelEntities.get(modelRelation.getRelEntityName()); + ModelEntity relModelEntity = modelEntities.get(modelRelation.getRelEntityName()); if (relModelEntity == null) { Debug.logError("No such relation: " + entity.getEntityName() + " -> " + modelRelation.getRelEntityName(), module); continue; @@ -468,7 +450,7 @@ ReferenceCheckInfo rcInfo = null; if (rcInfoMap != null) { - rcInfo = (ReferenceCheckInfo) rcInfoMap.get(relConstraintName); + rcInfo = rcInfoMap.get(relConstraintName); } if (rcInfo != null) { @@ -503,9 +485,7 @@ // show foreign key references that exist but are unknown if (rcInfoMap != null) { - Iterator rcInfoKeysLeft = rcInfoMap.keySet().iterator(); - while (rcInfoKeysLeft.hasNext()) { - String rcKeyLeft = (String) rcInfoKeysLeft.next(); + for (String rcKeyLeft: rcInfoMap.keySet()) { String message = "Unknown Foreign Key Constraint " + rcKeyLeft + " found in table " + entity.getTableName(datasourceInfo); Debug.logImportant(message, module); if (messages != null) messages.add(message); @@ -525,7 +505,7 @@ // TODO: also check the declared indices on start, if the datasourceInfo.checkIndicesOnStart flag is set // get ALL column info, put into hashmap by table name - Map tableIndexListMap = this.getIndexInfo(indexTableNames, messages); + Map<String, Set<String>> tableIndexListMap = this.getIndexInfo(indexTableNames, messages); // Debug.logVerbose("Ref Info Map: " + refTableInfoMap, module); @@ -533,9 +513,7 @@ // uh oh, something happened while getting info... if (Debug.verboseOn()) Debug.logVerbose("Ref Table Info Map is null", module); } else { - Iterator refModelEntityIter = modelEntityList.iterator(); - while (refModelEntityIter.hasNext()) { - ModelEntity entity = (ModelEntity) refModelEntityIter.next(); + for (ModelEntity entity: modelEntityList) { String entityName = entity.getEntityName(); // if this is a view entity, do not check it... if (entity instanceof ModelViewEntity) { @@ -546,7 +524,7 @@ } // get existing index list for this table - TreeSet tableIndexList = (TreeSet) tableIndexListMap.get(entity.getTableName(datasourceInfo)); + Set<String> tableIndexList = tableIndexListMap.get(entity.getTableName(datasourceInfo)); // Debug.logVerbose("Got ind info for table " + entity.getTableName(datasourceInfo) + ": " + tableIndexList, module); @@ -556,9 +534,9 @@ } else { // go through each relation to see if an FK already exists boolean createdConstraints = false; - Iterator relations = entity.getRelationsIterator(); + Iterator<ModelRelation> relations = entity.getRelationsIterator(); while (relations.hasNext()) { - ModelRelation modelRelation = (ModelRelation) relations.next(); + ModelRelation modelRelation = relations.next(); if (!"one".equals(modelRelation.getType())) { continue; } @@ -597,9 +575,7 @@ // show foreign key references that exist but are unknown if (tableIndexList != null) { - Iterator tableIndexListIter = tableIndexList.iterator(); - while (tableIndexListIter.hasNext()) { - String indexLeft = (String) tableIndexListIter.next(); + for (String indexLeft: tableIndexList) { String message = "Unknown Index " + indexLeft + " found in table " + entity.getTableName(datasourceInfo); Debug.logImportant(message, module); if (messages != null) messages.add(message); @@ -614,17 +590,17 @@ } /** Creates a list of ModelEntity objects based on meta data from the database */ - public List induceModelFromDb(Collection messages) { + public List<ModelEntity> induceModelFromDb(Collection<String> messages) { // get ALL tables from this database - TreeSet tableNames = this.getTableNames(messages); + TreeSet<String> tableNames = this.getTableNames(messages); // get ALL column info, put into hashmap by table name - Map colInfo = this.getColumnInfo(tableNames, true, messages); + Map<String, Map<String, ColumnCheckInfo>> colInfo = this.getColumnInfo(tableNames, true, messages); // go through each table and make a ModelEntity object, add to list // for each entity make corresponding ModelField objects // then print out XML for the entities/fields - List newEntList = FastList.newInstance(); + List<ModelEntity> newEntList = FastList.newInstance(); boolean isCaseSensitive = false; DatabaseMetaData dbData = this.getDatabaseMetaData(null, messages); @@ -637,10 +613,8 @@ } // iterate over the table names is alphabetical order - Iterator tableNamesIter = new TreeSet(colInfo.keySet()).iterator(); - while (tableNamesIter.hasNext()) { - String tableName = (String) tableNamesIter.next(); - Map colMap = (Map) colInfo.get(tableName); + for (String tableName: new TreeSet<String>(colInfo.keySet())) { + Map<String, ColumnCheckInfo> colMap = colInfo.get(tableName); ModelEntity newEntity = new ModelEntity(tableName, colMap, modelFieldTypeReader, isCaseSensitive); newEntList.add(newEntity); } @@ -658,13 +632,13 @@ root.appendChild(document.createElement("version")); // messages list - List messages = new ArrayList(); + List<String> messages = new ArrayList<String>(); // get ALL tables from this database - TreeSet tableNames = this.getTableNames(messages); + TreeSet<String> tableNames = this.getTableNames(messages); // get ALL column info, put into hashmap by table name - Map colInfo = this.getColumnInfo(tableNames, true, messages); + Map<String, Map<String, ColumnCheckInfo>> colInfo = this.getColumnInfo(tableNames, true, messages); boolean isCaseSensitive = false; DatabaseMetaData dbData = this.getDatabaseMetaData(null, messages); @@ -688,17 +662,15 @@ // iterate over the table names is alphabetical order - Iterator tableNamesIter = new TreeSet(colInfo.keySet()).iterator(); - while (tableNamesIter.hasNext()) { - String tableName = (String) tableNamesIter.next(); - Map colMap = (Map) colInfo.get(tableName); + for (String tableName: new TreeSet<String>(colInfo.keySet())) { + Map<String, ColumnCheckInfo> colMap = colInfo.get(tableName); ModelEntity newEntity = new ModelEntity(tableName, colMap, modelFieldTypeReader, isCaseSensitive); root.appendChild(newEntity.toXmlElement(document, "org.ofbiz.ext." + packageName)); } // print the messages to the console - for (int i = 0; i < messages.size(); i++) { - Debug.logInfo((String) messages.get(i), module); + for (String message: messages) { + Debug.logInfo(message, module); } return document; } @@ -707,7 +679,7 @@ return this.induceModelFromDb(""); } - public DatabaseMetaData getDatabaseMetaData(Connection connection, Collection messages) { + public DatabaseMetaData getDatabaseMetaData(Connection connection, Collection<String> messages) { if (connection == null) { try { connection = getConnection(); @@ -994,7 +966,7 @@ } } - public TreeSet getTableNames(Collection messages) { + public TreeSet<String> getTableNames(Collection<String> messages) { Connection connection = null; try { @@ -1027,7 +999,7 @@ if (Debug.infoOn()) Debug.logInfo("Getting Table Info From Database", module); // get ALL tables from this database - TreeSet tableNames = new TreeSet(); + TreeSet<String> tableNames = new TreeSet<String>(); ResultSet tableSet = null; String lookupSchemaName = null; @@ -1119,7 +1091,7 @@ return tableNames; } - public Map getColumnInfo(Set tableNames, boolean getPks, Collection messages) { + public Map<String, Map<String, ColumnCheckInfo>> getColumnInfo(Set<String> tableNames, boolean getPks, Collection<String> messages) { // if there are no tableNames, don't even try to get the columns if (tableNames.size() == 0) { return FastMap.newInstance(); @@ -1161,7 +1133,7 @@ if (Debug.infoOn()) Debug.logInfo("Getting Column Info From Database", module); - Map colInfo = FastMap.newInstance(); + Map<String, Map<String, ColumnCheckInfo>> colInfo = FastMap.newInstance(); String lookupSchemaName = null; try { if (dbData.supportsSchemasInTableDefinitions()) { @@ -1222,7 +1194,7 @@ // NOTE: this may need a toUpperCase in some cases, keep an eye on it ccInfo.isNullable = rsCols.getString("IS_NULLABLE"); - Map tableColInfo = (Map) colInfo.get(ccInfo.tableName); + Map<String, ColumnCheckInfo> tableColInfo = colInfo.get(ccInfo.tableName); if (tableColInfo == null) { tableColInfo = FastMap.newInstance(); colInfo.put(ccInfo.tableName, tableColInfo); @@ -1297,7 +1269,7 @@ } } - public int checkPrimaryKeyInfo(ResultSet rsPks, String lookupSchemaName, boolean needsUpperCase, Map colInfo, Collection messages) throws SQLException { + public int checkPrimaryKeyInfo(ResultSet rsPks, String lookupSchemaName, boolean needsUpperCase, Map<String, Map<String, ColumnCheckInfo>> colInfo, Collection<String> messages) throws SQLException { int pkCount = 0; try { while (rsPks.next()) { @@ -1308,12 +1280,12 @@ if (needsUpperCase && columnName != null) { columnName = columnName.toUpperCase(); } - Map tableColInfo = (Map) colInfo.get(tableName); + Map<String, ColumnCheckInfo> tableColInfo = colInfo.get(tableName); if (tableColInfo == null) { // not looking for info on this table continue; } - ColumnCheckInfo ccInfo = (ColumnCheckInfo) tableColInfo.get(columnName); + ColumnCheckInfo ccInfo = tableColInfo.get(columnName); if (ccInfo == null) { // this isn't good, what to do? Debug.logWarning("Got primary key information for a column that we didn't get column information for: tableName=[" + tableName + "], columnName=[" + columnName + "]", module); @@ -1346,7 +1318,7 @@ return pkCount; } - public Map getReferenceInfo(Set tableNames, Collection messages) { + public Map<String, Map<String, ReferenceCheckInfo>> getReferenceInfo(Set<String> tableNames, Collection<String> messages) { Connection connection = null; try { connection = getConnection(); @@ -1397,7 +1369,7 @@ if (Debug.infoOn()) Debug.logInfo("Getting Foreign Key (Reference) Info From Database", module); - Map refInfo = FastMap.newInstance(); + Map<String, Map<String, ReferenceCheckInfo>> refInfo = FastMap.newInstance(); try { // ResultSet rsCols = dbData.getCrossReference(null, null, null, null, null, null); @@ -1460,7 +1432,7 @@ if (Debug.verboseOn()) Debug.logVerbose("Got: " + rcInfo.toString(), module); - Map tableRefInfo = (Map) refInfo.get(rcInfo.fkTableName); + Map<String, ReferenceCheckInfo> tableRefInfo = refInfo.get(rcInfo.fkTableName); if (tableRefInfo == null) { tableRefInfo = FastMap.newInstance(); refInfo.put(rcInfo.fkTableName, tableRefInfo); @@ -1504,7 +1476,7 @@ return refInfo; } - public Map getIndexInfo(Set tableNames, Collection messages) { + public Map<String, Set<String>> getIndexInfo(Set<String> tableNames, Collection<String> messages) { Connection connection = null; try { @@ -1550,13 +1522,10 @@ if (Debug.infoOn()) Debug.logInfo("Getting Index Info From Database", module); - Map indexInfo = FastMap.newInstance(); + Map<String, Set<String>> indexInfo = FastMap.newInstance(); try { int totalIndices = 0; - Iterator tableNamesIter = tableNames.iterator(); - while (tableNamesIter.hasNext()) { - String curTableName = (String) tableNamesIter.next(); - + for (String curTableName: tableNames) { String lookupSchemaName = null; if (dbData.supportsSchemasInTableDefinitions()) { if (this.datasourceInfo.schemaName != null && this.datasourceInfo.schemaName.length() > 0) { @@ -1595,9 +1564,9 @@ indexName = indexName.toUpperCase(); } - TreeSet tableIndexList = (TreeSet) indexInfo.get(tableName); + Set<String> tableIndexList = indexInfo.get(tableName); if (tableIndexList == null) { - tableIndexList = new TreeSet(); + tableIndexList = new TreeSet<String>(); indexInfo.put(tableName, tableIndexList); if (Debug.verboseOn()) Debug.logVerbose("Adding new Map for table: " + tableName, module); } @@ -1645,7 +1614,7 @@ /* ====================================================================== */ - public String createTable(ModelEntity entity, Map modelEntities, boolean addFks) { + public String createTable(ModelEntity entity, Map<String, ModelEntity> modelEntities, boolean addFks) { if (entity == null) { return "ModelEntity was null and is required to create a table"; } @@ -1671,9 +1640,9 @@ StringBuilder sqlBuf = new StringBuilder("CREATE TABLE "); sqlBuf.append(entity.getTableName(this.datasourceInfo)); sqlBuf.append(" ("); - Iterator fieldIter = entity.getFieldsIterator(); + Iterator<ModelField> fieldIter = entity.getFieldsIterator(); while (fieldIter.hasNext()) { - ModelField field = (ModelField) fieldIter.next(); + ModelField field = fieldIter.next(); ModelFieldType type = modelFieldTypeReader.getModelFieldType(field.getType()); if (type == null) { return "Field type [" + type + "] not found for field [" + field.getName() + "] of entity [" + entity.getEntityName() + "], not creating table."; @@ -1720,11 +1689,11 @@ // NOTE: This is kind of a bad idea anyway since ordering table creations is crazy, if not impossible // go through the relationships to see if any foreign keys need to be added - Iterator relationsIter = entity.getRelationsIterator(); + Iterator<ModelRelation> relationsIter = entity.getRelationsIterator(); while (relationsIter.hasNext()) { - ModelRelation modelRelation = (ModelRelation) relationsIter.next(); + ModelRelation modelRelation = relationsIter.next(); if ("one".equals(modelRelation.getType())) { - ModelEntity relModelEntity = (ModelEntity) modelEntities.get(modelRelation.getRelEntityName()); + ModelEntity relModelEntity = modelEntities.get(modelRelation.getRelEntityName()); if (relModelEntity == null) { Debug.logError("Error adding foreign key: ModelEntity was null for related entity name " + modelRelation.getRelEntityName(), module); continue; @@ -1788,7 +1757,7 @@ return null; } - public void deleteTable(ModelEntity entity, List messages) { + public void deleteTable(ModelEntity entity, List<String> messages) { if (entity == null) { String errMsg = "ModelEntity was null and is required to delete a table"; Debug.logError(errMsg, module); @@ -2014,7 +1983,7 @@ return null; } - public void repairColumnSize(ModelEntity entity, ModelField field, List messages) { + public void repairColumnSize(ModelEntity entity, ModelField field, List<String> messages) { // first rename the column String tempName = makeTempFieldName(field); String renamedErr = renameColumn(entity, field, tempName); @@ -2139,17 +2108,15 @@ } } - public void repairColumnSizeChanges(Map modelEntities, List fieldsWrongSize, List messages) { + public void repairColumnSizeChanges(Map<String, ModelEntity> modelEntities, List<String> fieldsWrongSize, List<String> messages) { if (modelEntities == null || fieldsWrongSize == null || fieldsWrongSize.size() == 0) { messages.add("No fields to repair"); return; } - if (messages == null) messages = new ArrayList(); + if (messages == null) messages = new ArrayList<String>(); - Iterator i = fieldsWrongSize.iterator(); - while (i.hasNext()) { - String fieldInfo = (String) i.next(); + for (String fieldInfo: fieldsWrongSize) { String entityName = fieldInfo.substring(0, fieldInfo.indexOf('.')); String fieldName = fieldInfo.substring(fieldInfo.indexOf('.') + 1); @@ -2207,10 +2174,10 @@ } /* ====================================================================== */ - public int createForeignKeys(ModelEntity entity, Map modelEntities, List messages) { + public int createForeignKeys(ModelEntity entity, Map<String, ModelEntity> modelEntities, List<String> messages) { return this.createForeignKeys(entity, modelEntities, datasourceInfo.constraintNameClipLength, datasourceInfo.fkStyle, datasourceInfo.useFkInitiallyDeferred, messages); } - public int createForeignKeys(ModelEntity entity, Map modelEntities, int constraintNameClipLength, String fkStyle, boolean useFkInitiallyDeferred, List messages) { + public int createForeignKeys(ModelEntity entity, Map<String, ModelEntity> modelEntities, int constraintNameClipLength, String fkStyle, boolean useFkInitiallyDeferred, List<String> messages) { if (entity == null) { String errMsg = "ModelEntity was null and is required to create foreign keys for a table"; Debug.logError(errMsg, module); @@ -2227,11 +2194,11 @@ int fksCreated = 0; // go through the relationships to see if any foreign keys need to be added - Iterator relationsIter = entity.getRelationsIterator(); + Iterator<ModelRelation> relationsIter = entity.getRelationsIterator(); while (relationsIter.hasNext()) { - ModelRelation modelRelation = (ModelRelation) relationsIter.next(); + ModelRelation modelRelation = relationsIter.next(); if ("one".equals(modelRelation.getType())) { - ModelEntity relModelEntity = (ModelEntity) modelEntities.get(modelRelation.getRelEntityName()); + ModelEntity relModelEntity = modelEntities.get(modelRelation.getRelEntityName()); if (relModelEntity == null) { String errMsg = "Error adding foreign key: ModelEntity was null for related entity name " + modelRelation.getRelEntityName(); @@ -2319,12 +2286,12 @@ public String makeFkConstraintClause(ModelEntity entity, ModelRelation modelRelation, ModelEntity relModelEntity, int constraintNameClipLength, String fkStyle, boolean useFkInitiallyDeferred) { // make the two column lists - Iterator keyMapsIter = modelRelation.getKeyMapsIterator(); + Iterator<ModelKeyMap> keyMapsIter = modelRelation.getKeyMapsIterator(); StringBuilder mainCols = new StringBuilder(); StringBuilder relCols = new StringBuilder(); while (keyMapsIter.hasNext()) { - ModelKeyMap keyMap = (ModelKeyMap) keyMapsIter.next(); + ModelKeyMap keyMap = keyMapsIter.next(); ModelField mainField = entity.getField(keyMap.getFieldName()); if (mainField == null) { @@ -2391,11 +2358,11 @@ return sqlBuf.toString(); } - public void deleteForeignKeys(ModelEntity entity, Map modelEntities, List messages) { + public void deleteForeignKeys(ModelEntity entity, Map<String, ModelEntity> modelEntities, List<String> messages) { this.deleteForeignKeys(entity, modelEntities, datasourceInfo.constraintNameClipLength, messages); } - public void deleteForeignKeys(ModelEntity entity, Map modelEntities, int constraintNameClipLength, List messages) { + public void deleteForeignKeys(ModelEntity entity, Map<String, ModelEntity> modelEntities, int constraintNameClipLength, List<String> messages) { if (entity == null) { String errMsg = "ModelEntity was null and is required to delete foreign keys for a table"; if (messages != null) messages.add(errMsg); @@ -2414,12 +2381,12 @@ if (messages != null) messages.add(message); // go through the relationships to see if any foreign keys need to be added - Iterator relationsIter = entity.getRelationsIterator(); + Iterator<ModelRelation> relationsIter = entity.getRelationsIterator(); while (relationsIter.hasNext()) { - ModelRelation modelRelation = (ModelRelation) relationsIter.next(); + ModelRelation modelRelation = relationsIter.next(); if ("one".equals(modelRelation.getType())) { - ModelEntity relModelEntity = (ModelEntity) modelEntities.get(modelRelation.getRelEntityName()); + ModelEntity relModelEntity = modelEntities.get(modelRelation.getRelEntityName()); if (relModelEntity == null) { String errMsg = "Error removing foreign key: ModelEntity was null for related entity name " + modelRelation.getRelEntityName(); @@ -2497,19 +2464,19 @@ /* ====================================================================== */ /* ====================================================================== */ - public void createPrimaryKey(ModelEntity entity, boolean usePkConstraintNames, int constraintNameClipLength, List messages) { - if (messages == null) messages = new ArrayList(); + public void createPrimaryKey(ModelEntity entity, boolean usePkConstraintNames, int constraintNameClipLength, List<String> messages) { + if (messages == null) messages = new ArrayList<String>(); String err = createPrimaryKey(entity, usePkConstraintNames, constraintNameClipLength); if (!UtilValidate.isEmpty(err)) { messages.add(err); } } - public void createPrimaryKey(ModelEntity entity, boolean usePkConstraintNames, List messages) { + public void createPrimaryKey(ModelEntity entity, boolean usePkConstraintNames, List<String> messages) { createPrimaryKey(entity, usePkConstraintNames, datasourceInfo.constraintNameClipLength, messages); } - public void createPrimaryKey(ModelEntity entity, List messages) { + public void createPrimaryKey(ModelEntity entity, List<String> messages) { createPrimaryKey(entity, datasourceInfo.usePkConstraintNames, messages); } @@ -2580,19 +2547,19 @@ return message; } - public void deletePrimaryKey(ModelEntity entity, boolean usePkConstraintNames, int constraintNameClipLength, List messages) { - if (messages == null) messages = new ArrayList(); + public void deletePrimaryKey(ModelEntity entity, boolean usePkConstraintNames, int constraintNameClipLength, List<String> messages) { + if (messages == null) messages = new ArrayList<String>(); String err = deletePrimaryKey(entity, usePkConstraintNames, constraintNameClipLength); if (!UtilValidate.isEmpty(err)) { messages.add(err); } } - public void deletePrimaryKey(ModelEntity entity, boolean usePkConstraintNames, List messages) { + public void deletePrimaryKey(ModelEntity entity, boolean usePkConstraintNames, List<String> messages) { deletePrimaryKey(entity, usePkConstraintNames, datasourceInfo.constraintNameClipLength, messages); } - public void deletePrimaryKey(ModelEntity entity, List messages) { + public void deletePrimaryKey(ModelEntity entity, List<String> messages) { deletePrimaryKey(entity, datasourceInfo.usePkConstraintNames, messages); } @@ -2670,7 +2637,7 @@ /* ====================================================================== */ /* ====================================================================== */ - public int createDeclaredIndices(ModelEntity entity, List messages) { + public int createDeclaredIndices(ModelEntity entity, List<String> messages) { if (entity == null) { String message = "ERROR: ModelEntity was null and is required to create declared indices for a table"; Debug.logError(message, module); @@ -2687,9 +2654,9 @@ int dinsCreated = 0; // go through the indexes to see if any need to be added - Iterator indexesIter = entity.getIndexesIterator(); + Iterator<ModelIndex> indexesIter = entity.getIndexesIterator(); while (indexesIter.hasNext()) { - ModelIndex modelIndex = (ModelIndex) indexesIter.next(); + ModelIndex modelIndex = indexesIter.next(); String retMsg = createDeclaredIndex(entity, modelIndex); if (retMsg != null && retMsg.length() > 0) { @@ -2751,11 +2718,11 @@ } public String makeIndexClause(ModelEntity entity, ModelIndex modelIndex) { - Iterator fieldNamesIter = modelIndex.getIndexFieldsIterator(); + Iterator<String> fieldNamesIter = modelIndex.getIndexFieldsIterator(); StringBuilder mainCols = new StringBuilder(); while (fieldNamesIter.hasNext()) { - String fieldName = (String) fieldNamesIter.next(); + String fieldName = fieldNamesIter.next(); ModelField mainField = entity.getField(fieldName); if (mainCols.length() > 0) { mainCols.append(", "); @@ -2779,8 +2746,8 @@ return indexSqlBuf.toString(); } - public void deleteDeclaredIndices(ModelEntity entity, List messages) { - if (messages == null) messages = new ArrayList(); + public void deleteDeclaredIndices(ModelEntity entity, List<String> messages) { + if (messages == null) messages = new ArrayList<String>(); String err = deleteDeclaredIndices(entity); if (!UtilValidate.isEmpty(err)) { messages.add(err); @@ -2798,9 +2765,9 @@ StringBuilder retMsgsBuffer = new StringBuilder(); // go through the relationships to see if any foreign keys need to be added - Iterator indexesIter = entity.getIndexesIterator(); + Iterator<ModelIndex> indexesIter = entity.getIndexesIterator(); while (indexesIter.hasNext()) { - ModelIndex modelIndex = (ModelIndex) indexesIter.next(); + ModelIndex modelIndex = indexesIter.next(); String retMsg = deleteDeclaredIndex(entity, modelIndex); if (retMsg != null && retMsg.length() > 0) { if (retMsgsBuffer.length() > 0) { @@ -2872,11 +2839,11 @@ /* ====================================================================== */ /* ====================================================================== */ - public int createForeignKeyIndices(ModelEntity entity, List messages) { + public int createForeignKeyIndices(ModelEntity entity, List<String> messages) { return createForeignKeyIndices(entity, datasourceInfo.constraintNameClipLength, messages); } - public int createForeignKeyIndices(ModelEntity entity, int constraintNameClipLength, List messages) { + public int createForeignKeyIndices(ModelEntity entity, int constraintNameClipLength, List<String> messages) { if (entity == null) { String message = "ERROR: ModelEntity was null and is required to create foreign keys indices for a table"; Debug.logError(message, module); @@ -2893,9 +2860,9 @@ int fkisCreated = 0; // go through the relationships to see if any foreign keys need to be added - Iterator relationsIter = entity.getRelationsIterator(); + Iterator<ModelRelation> relationsIter = entity.getRelationsIterator(); while (relationsIter.hasNext()) { - ModelRelation modelRelation = (ModelRelation) relationsIter.next(); + ModelRelation modelRelation = relationsIter.next(); if ("one".equals(modelRelation.getType())) { String retMsg = createForeignKeyIndex(entity, modelRelation, constraintNameClipLength); if (retMsg != null && retMsg.length() > 0) { @@ -2963,11 +2930,11 @@ } public String makeFkIndexClause(ModelEntity entity, ModelRelation modelRelation, int constraintNameClipLength) { - Iterator keyMapsIter = modelRelation.getKeyMapsIterator(); + Iterator<ModelKeyMap> keyMapsIter = modelRelation.getKeyMapsIterator(); StringBuilder mainCols = new StringBuilder(); while (keyMapsIter.hasNext()) { - ModelKeyMap keyMap = (ModelKeyMap) keyMapsIter.next(); + ModelKeyMap keyMap = keyMapsIter.next(); ModelField mainField = entity.getField(keyMap.getFieldName()); if (mainField == null) { @@ -2995,8 +2962,8 @@ return indexSqlBuf.toString(); } - public void deleteForeignKeyIndices(ModelEntity entity, List messages) { - if (messages == null) messages = new ArrayList(); + public void deleteForeignKeyIndices(ModelEntity entity, List<String> messages) { + if (messages == null) messages = new ArrayList<String>(); String err = deleteForeignKeyIndices(entity, datasourceInfo.constraintNameClipLength); if (!UtilValidate.isEmpty(err)) { messages.add(err); @@ -3014,10 +2981,10 @@ StringBuilder retMsgsBuffer = new StringBuilder(); // go through the relationships to see if any foreign keys need to be added - Iterator relationsIter = entity.getRelationsIterator(); + Iterator<ModelRelation> relationsIter = entity.getRelationsIterator(); while (relationsIter.hasNext()) { - ModelRelation modelRelation = (ModelRelation) relationsIter.next(); + ModelRelation modelRelation = relationsIter.next(); if ("one".equals(modelRelation.getType())) { String retMsg = deleteForeignKeyIndex(entity, modelRelation, constraintNameClipLength); @@ -3107,7 +3074,7 @@ /* ====================================================================== */ /* ====================================================================== */ - public void updateCharacterSetAndCollation(ModelEntity entity, List messages) { + public void updateCharacterSetAndCollation(ModelEntity entity, List<String> messages) { if (entity instanceof ModelViewEntity) { return; } @@ -3169,9 +3136,9 @@ } } - Iterator fieldIter = entity.getFieldsIterator(); + Iterator<ModelField> fieldIter = entity.getFieldsIterator(); while (fieldIter.hasNext()) { - ModelField field = (ModelField) fieldIter.next(); + ModelField field = fieldIter.next(); ModelFieldType type = modelFieldTypeReader.getModelFieldType(field.getType()); if (type == null) { messages.add("Field type [" + type + "] not found for field [" + field.getName() + "] of entity [" + entity.getEntityName() + "], not creating table."); Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/SQLProcessor.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/SQLProcessor.java?rev=585842&r1=585841&r2=585842&view=diff ============================================================================== --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/SQLProcessor.java (original) +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/SQLProcessor.java Wed Oct 17 20:53:30 2007 @@ -46,7 +46,7 @@ public static final String module = SQLProcessor.class.getName(); /** Used for testing connections when test is enabled */ - public static List CONNECTION_TEST_LIST = new ArrayList(); + public static List<String> CONNECTION_TEST_LIST = new ArrayList<String>(); public static int MAX_CONNECTIONS = 1000; public static boolean ENABLE_TEST = false; @@ -79,8 +79,8 @@ // / true in case the connection shall be closed. private boolean _bDeleteConnection = false; - private Map _needClobWorkAroundWrite = null; - private Map _needBlobWorkAroundWrite = null; + private Map<String, String> _needClobWorkAroundWrite = null; + private Map<String, String> _needBlobWorkAroundWrite = null; /** * Construct an object based on the helper/datasource Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/SqlJdbcUtil.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/SqlJdbcUtil.java?rev=585842&r1=585841&r2=585842&view=diff ============================================================================== --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/SqlJdbcUtil.java (original) +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/SqlJdbcUtil.java Wed Oct 17 20:53:30 2007 @@ -39,6 +39,7 @@ import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.ObjectType; +import org.ofbiz.base.util.UtilGenerics; import org.ofbiz.base.util.UtilValidate; import org.ofbiz.entity.GenericDataSourceException; import org.ofbiz.entity.GenericEntity; @@ -90,7 +91,7 @@ // view-link and already be in the big join; SO keep a set of all aliases // in the join so far and if the left entity alias isn't there yet, and this // isn't the first one, throw an exception - Set joinedAliasSet = new TreeSet(); + Set<String> joinedAliasSet = new TreeSet<String>(); // TODO: at view-link read time make sure they are ordered properly so that each // left hand alias after the first view-link has already been linked before @@ -180,35 +181,32 @@ sql.append(restOfStatement.toString()); // handle tables not included in view-link - Iterator meIter = modelViewEntity.getMemberModelMemberEntities().entrySet().iterator(); boolean fromEmpty = restOfStatement.length() == 0; + for (String aliasName: modelViewEntity.getMemberModelMemberEntities().keySet()) { + ModelEntity fromEntity = modelViewEntity.getMemberModelEntity(aliasName); - while (meIter.hasNext()) { - Map.Entry entry = (Map.Entry) meIter.next(); - ModelEntity fromEntity = modelViewEntity.getMemberModelEntity((String) entry.getKey()); - - if (!joinedAliasSet.contains((String) entry.getKey())) { + if (!joinedAliasSet.contains(aliasName)) { if (!fromEmpty) sql.append(", "); fromEmpty = false; sql.append(makeViewTable(fromEntity, datasourceInfo)); sql.append(" "); - sql.append((String) entry.getKey()); + sql.append(aliasName); } } } else if ("theta-oracle".equals(datasourceInfo.joinStyle) || "theta-mssql".equals(datasourceInfo.joinStyle)) { // FROM clause - Iterator meIter = modelViewEntity.getMemberModelMemberEntities().entrySet().iterator(); + Iterator<String> meIter = modelViewEntity.getMemberModelMemberEntities().keySet().iterator(); while (meIter.hasNext()) { - Map.Entry entry = (Map.Entry) meIter.next(); - ModelEntity fromEntity = modelViewEntity.getMemberModelEntity((String) entry.getKey()); + String aliasName = meIter.next(); + ModelEntity fromEntity = modelViewEntity.getMemberModelEntity(aliasName); sql.append(makeViewTable(fromEntity, datasourceInfo)); sql.append(" "); - sql.append((String) entry.getKey()); + sql.append(aliasName); if (meIter.hasNext()) sql.append(", "); } @@ -223,17 +221,17 @@ } /** Makes a WHERE clause String with "<col name>=?" if not null or "<col name> IS null" if null, all AND separated */ - public static String makeWhereStringFromFields(List modelFields, Map fields, String operator) { + public static String makeWhereStringFromFields(List modelFields, Map<String, Object> fields, String operator) { return makeWhereStringFromFields(modelFields, fields, operator, null); } /** Makes a WHERE clause String with "<col name>=?" if not null or "<col name> IS null" if null, all AND separated */ - public static String makeWhereStringFromFields(List modelFields, Map fields, String operator, List entityConditionParams) { + public static String makeWhereStringFromFields(List modelFields, Map<String, Object> fields, String operator, List<EntityConditionParam> entityConditionParams) { if (modelFields.size() < 1) { return ""; } - StringBuilder returnString = new StringBuilder(""); + StringBuffer returnString = new StringBuffer(""); Iterator iter = modelFields.iterator(); while (iter.hasNext()) { Object item = iter.next(); @@ -266,7 +264,7 @@ return returnString.toString(); } - public static String makeWhereClause(ModelEntity modelEntity, List modelFields, Map fields, String operator, String joinStyle) throws GenericEntityException { + public static String makeWhereClause(ModelEntity modelEntity, List modelFields, Map<String, Object> fields, String operator, String joinStyle) throws GenericEntityException { StringBuilder whereString = new StringBuilder(""); if (modelFields != null && modelFields.size() > 0) { @@ -359,11 +357,11 @@ return ""; } - public static String makeOrderByClause(ModelEntity modelEntity, List orderBy, DatasourceInfo datasourceInfo) throws GenericModelException { + public static String makeOrderByClause(ModelEntity modelEntity, List<String> orderBy, DatasourceInfo datasourceInfo) throws GenericModelException { return makeOrderByClause(modelEntity, orderBy, false, datasourceInfo); } - public static String makeOrderByClause(ModelEntity modelEntity, List orderBy, boolean includeTablenamePrefix, DatasourceInfo datasourceInfo) throws GenericModelException { + public static String makeOrderByClause(ModelEntity modelEntity, List<String> orderBy, boolean includeTablenamePrefix, DatasourceInfo datasourceInfo) throws GenericModelException { StringBuilder sql = new StringBuilder(""); //String fieldPrefix = includeTablenamePrefix ? (modelEntity.getTableName(datasourceInfo) + ".") : ""; @@ -380,15 +378,15 @@ public static String makeViewTable(ModelEntity modelEntity, DatasourceInfo datasourceInfo) throws GenericEntityException { if (modelEntity instanceof ModelViewEntity) { StringBuilder sql = new StringBuilder("(SELECT "); - Iterator fieldsIter = modelEntity.getFieldsIterator(); + Iterator<ModelField> fieldsIter = modelEntity.getFieldsIterator(); if (fieldsIter.hasNext()) { - ModelField curField = (ModelField) fieldsIter.next(); + ModelField curField = fieldsIter.next(); String colname = curField.getColName(); sql.append(colname); sql.append(" AS "); sql.append(filterColName(colname)); while (fieldsIter.hasNext()) { - curField = (ModelField) fieldsIter.next(); + curField = fieldsIter.next(); colname = curField.getColName(); sql.append(", "); sql.append(colname); @@ -433,10 +431,8 @@ * @param entity * @throws GenericEntityException */ - public static void setValues(SQLProcessor sqlP, List list, GenericEntity entity, ModelFieldTypeReader modelFieldTypeReader) throws GenericEntityException { - Iterator fieldIter = list.iterator(); - while (fieldIter.hasNext()) { - ModelField curField = (ModelField) fieldIter.next(); + public static void setValues(SQLProcessor sqlP, List<ModelField> list, GenericEntity entity, ModelFieldTypeReader modelFieldTypeReader) throws GenericEntityException { + for (ModelField curField: list) { setValue(sqlP, curField, entity, modelFieldTypeReader); } } @@ -451,10 +447,8 @@ * @param modelFieldTypeReader * @throws GenericEntityException */ - public static void setValuesWhereClause(SQLProcessor sqlP, List list, GenericValue dummyValue, ModelFieldTypeReader modelFieldTypeReader) throws GenericEntityException { - Iterator fieldIter = list.iterator(); - while (fieldIter.hasNext()) { - ModelField curField = (ModelField) fieldIter.next(); + public static void setValuesWhereClause(SQLProcessor sqlP, List<ModelField> list, GenericValue dummyValue, ModelFieldTypeReader modelFieldTypeReader) throws GenericEntityException { + for (ModelField curField: list) { // for where clause variables only setValue if not null... if (dummyValue.get(curField.getName()) != null) { setValue(sqlP, curField, dummyValue, modelFieldTypeReader); @@ -473,9 +467,9 @@ * @throws GenericEntityException */ public static void setPkValues(SQLProcessor sqlP, ModelEntity modelEntity, GenericEntity entity, ModelFieldTypeReader modelFieldTypeReader) throws GenericEntityException { - Iterator pksIter = modelEntity.getPksIterator(); + Iterator<ModelField> pksIter = modelEntity.getPksIterator(); while (pksIter.hasNext()) { - ModelField curField = (ModelField) pksIter.next(); + ModelField curField = pksIter.next(); // for where clause variables only setValue if not null... if (entity.dangerousGetNoCheckButFast(curField) != null) { @@ -774,7 +768,7 @@ } } - protected static Map fieldTypeMap = FastMap.newInstance(); + protected static Map<String, Integer> fieldTypeMap = FastMap.newInstance(); static { fieldTypeMap.put("java.lang.String", new Integer(1)); fieldTypeMap.put("String", new Integer(1)); @@ -814,7 +808,7 @@ } public static int getType(String fieldType) throws GenericNotImplementedException { - Integer val = (Integer) fieldTypeMap.get(fieldType); + Integer val = fieldTypeMap.get(fieldType); if (val == null) { throw new GenericNotImplementedException("Java type " + fieldType + " not currently supported. Sorry."); @@ -822,7 +816,13 @@ return val.intValue(); } - public static void addValueSingle(StringBuilder buffer, ModelField field, Object value, List params) { + public static void addValueSingle(StringBuffer buffer, ModelField field, Object value, List<EntityConditionParam> params) { + StringBuilder sb = new StringBuilder(); + addValueSingle(sb, field, value, params); + buffer.append(sb); + } + + public static void addValueSingle(StringBuilder buffer, ModelField field, Object value, List<EntityConditionParam> params) { if (field != null) { buffer.append('?'); } else { @@ -831,10 +831,16 @@ if (field != null && params != null) params.add(new EntityConditionParam(field, value)); } - public static void addValue(StringBuilder buffer, ModelField field, Object value, List params) { + public static void addValue(StringBuffer buffer, ModelField field, Object value, List<EntityConditionParam> params) { + StringBuilder sb = new StringBuilder(); + addValue(sb, field, value, params); + buffer.append(sb); + } + + public static void addValue(StringBuilder buffer, ModelField field, Object value, List<EntityConditionParam> params) { if (value instanceof Collection) { buffer.append("( "); - Iterator it = ((Collection) value).iterator(); + Iterator<Object> it = UtilGenerics.checkCollection(value).iterator(); while (it.hasNext()) { Object thisValue = it.next(); addValueSingle(buffer, field, thisValue, params); |
Free forum by Nabble | Edit this page |