- Timestamp:
- 2012-02-21T16:23:53+13:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/util/DerbyWrapper.java
r25092 r25125 114 114 conn.commit(); 115 115 } 116 catch (Exception ex)116 catch (Exception ex) 117 117 { 118 118 ex.printStackTrace(); … … 125 125 String sql_list_all_user = "SELECT username, password, accountstatus, comment FROM " + USERS; 126 126 127 ArrayList<HashMap<String, String>> users = new ArrayList<HashMap<String, String>>();127 ArrayList<HashMap<String, String>> users = new ArrayList<HashMap<String, String>>(); 128 128 ResultSet rs = state.executeQuery(sql_list_all_user); 129 129 while (rs.next()) … … 134 134 user.put("as", rs.getString("accountstatus")); 135 135 user.put("comment", rs.getString("comment")); 136 136 137 137 users.add(user); 138 138 } 139 140 for (HashMap<String, String> user : users)139 140 for (HashMap<String, String> user : users) 141 141 { 142 142 ResultSet gs = state.executeQuery("SELECT role FROM roles WHERE username = '" + user.get("username") + "'"); 143 143 String group = ""; 144 while (gs.next())145 { 146 if (!group.equals(""))144 while (gs.next()) 145 { 146 if (!group.equals("")) 147 147 { 148 148 group += ","; … … 152 152 userQueryResult.addUserTerm(user.get("username"), user.get("password"), group, user.get("as"), user.get("comment")); 153 153 } 154 154 155 155 if (userQueryResult.getSize() == 0) 156 156 { … … 171 171 String sql_insert_user = "insert into " + USERS + " values ('" + username + "', '" + password + "', '" + accountstatus + "', '" + comment + "')"; 172 172 state.execute(sql_insert_user); 173 173 174 174 String[] groupArray = groups.split(","); 175 for (String g : groupArray)175 for (String g : groupArray) 176 176 { 177 177 String sql_insert_group = "insert into " + ROLES + " values ('" + username + "', '" + g + "')"; 178 178 state.execute(sql_insert_group); 179 179 } 180 180 181 181 conn.commit(); 182 182 } … … 196 196 return "Error:" + e.getMessage(); 197 197 } 198 198 199 199 return "succeed"; 200 200 } … … 281 281 sql_find_user += append_sql; 282 282 } 283 284 ArrayList<HashMap<String, String>> users = new ArrayList<HashMap<String, String>>();283 284 ArrayList<HashMap<String, String>> users = new ArrayList<HashMap<String, String>>(); 285 285 ResultSet rs = state.executeQuery(sql_find_user); 286 286 while (rs.next()) … … 291 291 user.put("as", rs.getString("accountstatus")); 292 292 user.put("comment", rs.getString("comment")); 293 293 294 294 users.add(user); 295 295 } 296 296 conn.commit(); 297 298 for (HashMap<String, String> user : users)297 298 for (HashMap<String, String> user : users) 299 299 { 300 300 ResultSet gs = state.executeQuery("SELECT role FROM " + ROLES + " WHERE username = '" + user.get("username") + "'"); 301 301 302 302 String group = ""; 303 while (gs.next())304 { 305 if (!group.equals(""))303 while (gs.next()) 304 { 305 if (!group.equals("")) 306 306 { 307 307 group += ","; … … 309 309 group += gs.getString("role"); 310 310 } 311 312 System.out.println("GROUP = " + group); 313 311 314 312 userQueryResult.addUserTerm(user.get("username"), user.get("password"), group, user.get("as"), user.get("comment")); 315 313 } 316 314 315 if (userQueryResult.getSize() > 0) 316 { 317 return userQueryResult; 318 } 319 else 320 { 321 System.out.println("couldn't find the user"); 322 return null; 323 } 324 } 325 326 public UserQueryResult findUser(String username) throws SQLException 327 { 328 UserQueryResult userQueryResult = new UserQueryResult(); 329 330 conn.setAutoCommit(false); 331 String sql_find_user = "SELECT username, password, accountstatus, comment FROM " + USERS; 332 String append_sql = ""; 333 334 if (username != null) 335 { 336 append_sql = " WHERE username = '" + username + "'"; 337 } 338 if (!append_sql.equals("")) 339 { 340 sql_find_user += append_sql; 341 } 342 343 ArrayList<HashMap<String, String>> users = new ArrayList<HashMap<String, String>>(); 344 ResultSet rs = state.executeQuery(sql_find_user); 345 while (rs.next()) 346 { 347 HashMap<String, String> user = new HashMap<String, String>(); 348 user.put("username", rs.getString("username")); 349 user.put("password", rs.getString("password")); 350 user.put("as", rs.getString("accountstatus")); 351 user.put("comment", rs.getString("comment")); 352 353 users.add(user); 354 } 355 conn.commit(); 356 357 for (HashMap<String, String> user : users) 358 { 359 ResultSet gs = state.executeQuery("SELECT role FROM " + ROLES + " WHERE username = '" + user.get("username") + "'"); 360 361 String group = ""; 362 while (gs.next()) 363 { 364 if (!group.equals("")) 365 { 366 group += ","; 367 } 368 group += gs.getString("role"); 369 } 370 371 userQueryResult.addUserTerm(user.get("username"), user.get("password"), group, user.get("as"), user.get("comment")); 372 } 373 317 374 if (userQueryResult.getSize() > 0) 318 375 { … … 336 393 sql_modify_user_info += "password='" + new_password + "'"; 337 394 } 338 395 339 396 if (accountstatus != null && comment != null) 340 397 { … … 344 401 System.out.println(sql_modify_user_info); 345 402 state.execute(sql_modify_user_info); 346 403 347 404 String sql_delete_groups = "delete from " + ROLES + " where username='" + username + "'"; 348 405 state.execute(sql_delete_groups); 349 406 350 407 String[] groupsArray = groups.split(","); 351 for (String g : groupsArray)408 for (String g : groupsArray) 352 409 { 353 410 String sql_insert_group = "insert into " + ROLES + " values ('" + username + "', '" + g + "')"; 354 411 state.execute(sql_insert_group); 355 412 } 356 413 357 414 conn.commit(); 358 415 } … … 390 447 ResultSet groupsSet = state.executeQuery("SELECT role FROM " + ROLES + " WHERE username = '" + returned_username + "'"); 391 448 String returned_groups = ""; 392 while (groupsSet.next())393 { 394 if (!returned_groups.equals(""))449 while (groupsSet.next()) 450 { 451 if (!returned_groups.equals("")) 395 452 { 396 453 returned_groups += ",";
Note:
See TracChangeset
for help on using the changeset viewer.