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

View differences:

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