Revision 41655 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.jdbc/src/main/java/org/gvsig/fmap/dal/store/jdbc/JDBCServerExplorer.java
JDBCServerExplorer.java | ||
---|---|---|
439 | 439 |
|
440 | 440 |
} |
441 | 441 |
|
442 |
protected List createGrantStatements(String tableName, String privilege, String theRoles) { |
|
443 |
List statements = new ArrayList(); |
|
444 |
String[] roles = StringUtils.split(theRoles,","); |
|
445 |
for( int i=0; i<roles.length; i++) { |
|
446 |
String statement = "GRANT "+ privilege + "ON TABLE " + tableName + " TO " + roles[i]; |
|
447 |
statements.add(statement); |
|
448 |
} |
|
449 |
return statements; |
|
450 |
} |
|
451 |
|
|
452 | 442 |
protected List getPermissionsSQLs(JDBCNewStoreParameters ndsp) { |
453 | 443 |
List statements = null; |
454 | 444 |
String roles; |
... | ... | |
458 | 448 |
if( statements == null ) { |
459 | 449 |
statements = new ArrayList(); |
460 | 450 |
} |
461 |
statements.addAll(this.createGrantStatements(ndsp.tableID(), "SELECT", roles)); |
|
451 |
statements.addAll(this.getHelper().createGrantStatements(ndsp.tableID(), "SELECT", roles));
|
|
462 | 452 |
} |
463 | 453 |
roles = ndsp.getInsertRole(); |
464 | 454 |
if( roles!=null ) { |
465 | 455 |
if( statements == null ) { |
466 | 456 |
statements = new ArrayList(); |
467 | 457 |
} |
468 |
statements.addAll(this.createGrantStatements(ndsp.tableID(), "INSERT", roles)); |
|
458 |
statements.addAll(this.getHelper().createGrantStatements(ndsp.tableID(), "INSERT", roles));
|
|
469 | 459 |
} |
470 | 460 |
roles = ndsp.getUpdateRole(); |
471 | 461 |
if( roles!=null ) { |
472 | 462 |
if( statements == null ) { |
473 | 463 |
statements = new ArrayList(); |
474 | 464 |
} |
475 |
statements.addAll(this.createGrantStatements(ndsp.tableID(), "UPDATE", roles)); |
|
465 |
statements.addAll(this.getHelper().createGrantStatements(ndsp.tableID(), "UPDATE", roles));
|
|
476 | 466 |
} |
477 | 467 |
roles = ndsp.getDeleteRole(); |
478 | 468 |
if( roles!=null ) { |
479 | 469 |
if( statements == null ) { |
480 | 470 |
statements = new ArrayList(); |
481 | 471 |
} |
482 |
statements.addAll(this.createGrantStatements(ndsp.tableID(), "DELETE", roles)); |
|
472 |
statements.addAll(this.getHelper().createGrantStatements(ndsp.tableID(), "DELETE", roles));
|
|
483 | 473 |
} |
484 | 474 |
roles = ndsp.getTruncateRole(); |
485 | 475 |
if( roles!=null ) { |
486 | 476 |
if( statements == null ) { |
487 | 477 |
statements = new ArrayList(); |
488 | 478 |
} |
489 |
statements.addAll(this.createGrantStatements(ndsp.tableID(), "TRUNCATE", roles)); |
|
479 |
statements.addAll(this.getHelper().createGrantStatements(ndsp.tableID(), "TRUNCATE", roles));
|
|
490 | 480 |
} |
491 | 481 |
roles = ndsp.getReferenceRole(); |
492 | 482 |
if( roles!=null ) { |
493 | 483 |
if( statements == null ) { |
494 | 484 |
statements = new ArrayList(); |
495 | 485 |
} |
496 |
statements.addAll(this.createGrantStatements(ndsp.tableID(), "REFERENCE", roles)); |
|
486 |
statements.addAll(this.getHelper().createGrantStatements(ndsp.tableID(), "REFERENCE", roles));
|
|
497 | 487 |
} |
498 | 488 |
roles = ndsp.getTriggerRole(); |
499 | 489 |
if( roles!=null ) { |
500 | 490 |
if( statements == null ) { |
501 | 491 |
statements = new ArrayList(); |
502 | 492 |
} |
503 |
statements.addAll(this.createGrantStatements(ndsp.tableID(), "TRIGGER", roles)); |
|
493 |
statements.addAll(this.getHelper().createGrantStatements(ndsp.tableID(), "TRIGGER", roles));
|
|
504 | 494 |
} |
505 | 495 |
roles = ndsp.getAllRole(); |
506 | 496 |
if( roles!=null ) { |
507 | 497 |
if( statements == null ) { |
508 | 498 |
statements = new ArrayList(); |
509 | 499 |
} |
510 |
statements.addAll(this.createGrantStatements(ndsp.tableID(), "ALL", roles)); |
|
500 |
statements.addAll(this.getHelper().createGrantStatements(ndsp.tableID(), "ALL", roles));
|
|
511 | 501 |
} |
512 | 502 |
|
513 | 503 |
return statements; |
Also available in: Unified diff