Statistics
| Revision:

svn-gvsig-desktop / 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 / CanCreateTablesOperation.java @ 43020

History | View | Annotate | Download (987 Bytes)

1

    
2
package org.gvsig.fmap.dal.store.jdbc2.spi.operations;
3

    
4
import java.sql.Connection;
5
import java.sql.DatabaseMetaData;
6
import java.sql.SQLException;
7
import org.gvsig.fmap.dal.exception.DataException;
8
import org.gvsig.fmap.dal.store.jdbc.exception.JDBCCantFetchMetadata;
9
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
10

    
11

    
12
public class CanCreateTablesOperation extends AbstractConnectionOperation {
13

    
14
    public CanCreateTablesOperation(JDBCHelper helper) {
15
        super(helper);
16
    }
17

    
18
    @Override
19
    public final Object perform(Connection conn) throws DataException {
20
        return canCreateTables(conn);
21
    }
22
    
23
    public boolean canCreateTables(
24
            Connection conn
25
        ) throws JDBCCantFetchMetadata {
26
        try {
27
            DatabaseMetaData metadata = conn.getMetaData();
28
            boolean readonly = metadata.isReadOnly();
29
            return !readonly;
30
        } catch (SQLException ex) {
31
            throw new JDBCCantFetchMetadata(ex);
32
        }
33
    }
34
}