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 @ 44058
History | View | Annotate | Download (987 Bytes)
1 | 43020 | jjdelcerro | |
---|---|---|---|
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 | } |