Revision 44678 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/jdbc2/spi/operations/CreateTableOperation.java

View differences:

CreateTableOperation.java
46 46

  
47 47
    @Override
48 48
    public final Object perform(Connection conn) throws DataException {
49
        return this.performCreateTable(conn, 
50
                table, type, userAndPrivileges, additionalSQLs);
49
        return this.performCreateTable(conn);
51 50
    }
52 51

  
53 52
    protected List<String> buildCreateIndexesSQL(
......
76 75
        return sqls;
77 76
    }
78 77
    
79
    public boolean performCreateTable(Connection conn,
80
            TableReference table,
81
            FeatureType type,
82
            List<Pair<String, SQLBuilder.Privilege>> rolesAndPrivileges,
83
            List<String> additionalSQLs) throws DataException {
78
    public List<String> getSQLs() throws DataException {
84 79

  
85 80
        JDBCSQLBuilderBase sqlbuilder = this.createSQLBuilder();
86 81
        sqlbuilder.create_table().table()
87
                .database(this.table.getDatabase())
88
                .schema(this.table.getSchema())
89
                .name(this.table.getTable());
82
                .database(table.getDatabase())
83
                .schema(table.getSchema())
84
                .name(table.getTable());
90 85
        for (FeatureAttributeDescriptor attr : type) {
91 86
            if( attr.isComputed() ) {
92 87
                continue;
......
115 110
                );
116 111
            }
117 112
        }
118
        for (Pair<String, SQLBuilder.Privilege> roleAndPrivilege : rolesAndPrivileges) {
119
            sqlbuilder.grant().role(roleAndPrivilege.getLeft()).privilege(roleAndPrivilege.getRight());
113
        if( userAndPrivileges!=null ) {
114
          for (Pair<String, SQLBuilder.Privilege> roleAndPrivilege : userAndPrivileges) {
115
              sqlbuilder.grant().role(roleAndPrivilege.getLeft()).privilege(roleAndPrivilege.getRight());
116
          }
120 117
        }
121 118

  
122 119
        List<String> sqls;
123 120
        sqls = sqlbuilder.create_table().toStrings();
124 121
        sqls.addAll(buildCreateIndexesSQL(this.table,type));
125 122
        sqls.addAll(sqlbuilder.grant().toStrings());
126
        sqls.addAll(additionalSQLs);
127

  
123
        if( additionalSQLs!=null ) {
124
          sqls.addAll(additionalSQLs);
125
        }
126
        
127
        return sqls;
128
    }
129
    
130
    public boolean performCreateTable(Connection conn) throws DataException {
131
      
132
        List<String> sqls = this.getSQLs();
128 133
        Statement st = null;
129 134
        try {
130 135
            st = conn.createStatement();

Also available in: Unified diff