Skip to content

Commit 0b209d6

Browse files
committed
- Updated constructor logic in classes for Java >8 support
https://stackoverflow.com/questions/6802483/how-to-directly-initialize-a-hashmap-in-a-literal-way git-svn-id: svn://192.168.0.80/JavaXT/javaxt-orm@1363 2c7b0aa6-e0b2-3c4e-bb4a-8b65b6c465ff
1 parent aa60c94 commit 0b209d6

File tree

2 files changed

+30
-13
lines changed

2 files changed

+30
-13
lines changed

src/javaxt/orm/Class.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ public class ${modelName} extends javaxt.sql.Model {
2020
//** Constructor
2121
//**************************************************************************
2222
public ${modelName}(){
23-
super("${tableName}", new java.util.HashMap<String, String>() {{
23+
super("${tableName}", java.util.Map.ofEntries(
2424
${fieldMap}
25-
}});
25+
));
2626
${initArrays}
2727
}
2828

src/javaxt/orm/Model.java

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,8 @@ public String getJavaCode(){
195195
java.util.TreeSet<String> includes = new java.util.TreeSet<String>();
196196

197197

198-
for (Field field : fields){
198+
for (int i=0; i<fields.size(); i++){
199+
Field field = fields.get(i);
199200
String fieldName = field.getName();
200201
String fieldType = field.getType();
201202
String methodName = Utils.capitalize(fieldName);
@@ -217,12 +218,26 @@ public String getJavaCode(){
217218
}
218219

219220

221+
/* For Java 8 and below
220222
//Append field to the fieldMap
221223
fieldMap.append(" put(\"");
222224
fieldMap.append(fieldName);
223225
fieldMap.append("\", \"");
224226
fieldMap.append(columnName);
225227
fieldMap.append("\");\r\n");
228+
*/
229+
230+
231+
232+
//Append field to the fieldMap
233+
fieldMap.append(" java.util.Map.entry(\"");
234+
fieldMap.append(fieldName);
235+
fieldMap.append("\", \"");
236+
fieldMap.append(columnName);
237+
fieldMap.append("\")");
238+
if (i<fields.size()-1) fieldMap.append(",");
239+
fieldMap.append("\r\n");
240+
226241

227242

228243

@@ -428,17 +443,19 @@ else if (fieldType.equals("Geometry")){
428443
saveModels.append(" obj.save();\r\n");
429444
saveModels.append(" " + idArray + ".add(obj.getID());\r\n");
430445
saveModels.append(" }\r\n");
446+
447+
448+
saveModels.append("\r\n");
449+
saveModels.append(" conn.execute(\"delete from " + tableName + " where " + leftColumn + "=\" + id);\r\n");
450+
saveModels.append(" rs.open(\"select * from " + tableName + " where " + leftColumn + "=\" + id, conn, false);\r\n");
431451
saveModels.append(" for (long " + id + " : " + idArray + "){\r\n");
432-
saveModels.append(" rs.open(\"select * from " + tableName + " where " + leftColumn + "=\" + id + \r\n");
433-
saveModels.append(" \" and " + rightColumn + "=\" + " + id + ", conn, false);\r\n");
434-
saveModels.append(" if (rs.EOF){\r\n");
435-
saveModels.append(" rs.addNew();\r\n");
436-
saveModels.append(" rs.setValue(\"" + leftColumn + "\", id);\r\n");
437-
saveModels.append(" rs.setValue(\"" + rightColumn + "\", " + id + ");\r\n");
438-
saveModels.append(" rs.update();\r\n");
439-
saveModels.append(" }\r\n");
440-
saveModels.append(" rs.close();\r\n");
441-
saveModels.append(" }\r\n\r\n");
452+
saveModels.append(" rs.addNew();\r\n");
453+
saveModels.append(" rs.setValue(\"" + leftColumn + "\", id);\r\n");
454+
saveModels.append(" rs.setValue(\"" + rightColumn + "\", " + id + ");\r\n");
455+
saveModels.append(" rs.update();\r\n");
456+
saveModels.append(" }\r\n");
457+
saveModels.append(" rs.close();\r\n");
458+
saveModels.append("\r\n");
442459
}
443460

444461

0 commit comments

Comments
 (0)