Revision 11971 trunk/extensions/extJDBC/src/com/iver/cit/gvsig/jdbc_spatial/JDBCLayerBuilder.java

View differences:

JDBCLayerBuilder.java
5 5
import java.sql.SQLException;
6 6
import java.util.Map;
7 7

  
8
import com.iver.cit.gvsig.fmap.drivers.ConnectionFactory;
9
import com.iver.cit.gvsig.fmap.drivers.DBException;
8 10
import com.iver.cit.gvsig.fmap.drivers.DBLayerDefinition;
11
import com.iver.cit.gvsig.fmap.drivers.IConnection;
9 12
import com.iver.cit.gvsig.fmap.drivers.jdbc.postgis.PostGisDriver;
10 13
import com.iver.cit.gvsig.fmap.layers.LayerFactory;
11 14
import com.iver.utiles.extensionPoints.IExtensionBuilder;
......
54 57
 *
55 58
 * $Id$
56 59
 * $Log$
57
 * Revision 1.2  2006-04-18 06:19:06  jorpiell
60
 * Revision 1.3  2007-06-04 07:10:07  caballero
61
 * connections refactoring
62
 *
63
 * Revision 1.2.4.4  2007/05/31 12:07:58  caballero
64
 * connections
65
 *
66
 * Revision 1.2.4.3  2007/02/12 14:35:52  jmvivo
67
 * Quitado el soporte para Oracle spacial
68
 *
69
 * Revision 1.2  2006/04/18 06:19:06  jorpiell
58 70
 * Modificada la forma en la que se a?ade la clase que implementa la factor?a. Se tiene que pasar una instancia, y no una clase. Adem?s se la ha a?adido un constructor sin par?metros a la factoria.
59 71
 *
60 72
 * Revision 1.1  2006/04/11 11:54:38  jorpiell
......
66 78
 * Creates a Postgis FLyrVect from a set of params
67 79
 * (URL, user name, password, ...). The catalog
68 80
 * extension uses this class to load a new layer
69
 * from a metadata.  
81
 * from a metadata.
70 82
 * @author Jorge Piera Llodr? (piera_jor@gva.es)
71 83
 */
72 84
public class JDBCLayerBuilder implements IExtensionBuilder{
73
		
85

  
74 86
	public JDBCLayerBuilder(){
75 87
		super();
76 88
	}
77
	
89

  
78 90
	public Object create() {
79 91
		// TODO Auto-generated method stub
80 92
		return null;
81 93
	}
82
	
94

  
83 95
	public Object create(Object[] args) {
84 96
		// TODO Auto-generated method stub
85 97
		return null;
86 98
	}
87
	
99

  
88 100
	public Object create(Map args) {
89 101
		String dbURL = (String) args.get("DBURL");
90 102
		String user = (String) args.get((String) "USER");
......
96 108
		String geomField = (String) args.get((String) "GEOMFIELD");
97 109
		String tableName = (String) args.get((String) "TABLENAME");
98 110
		String whereClause = (String) args.get((String) "WHERECLAUSE");
99
		
100
		
101
		Connection conn;
111

  
112

  
113
		IConnection conn;
102 114
		try {
103
			conn = DriverManager.getConnection(dbURL, user, pwd);
104
			conn.setAutoCommit(false);
105
		} catch (SQLException e) {
106
			// TODO Auto-generated catch block
115
			conn = ConnectionFactory.createConnection(dbURL, user, pwd);
116
		} catch (DBException e) {
107 117
			e.printStackTrace();
108 118
			return null;
109 119
		}
110
		
111
		
112
		DBLayerDefinition lyrDef = new DBLayerDefinition();                
120

  
121

  
122
		DBLayerDefinition lyrDef = new DBLayerDefinition();
113 123
		lyrDef.setName(layerName);
114 124
		lyrDef.setTableName(tableName);
115 125
		lyrDef.setWhereClause(whereClause);
116 126
		lyrDef.setFieldNames(fields);
117 127
		lyrDef.setFieldGeometry(geomField);
118 128
		lyrDef.setFieldID(fidField);
119
		
129

  
120 130
		PostGisDriver pgd = new PostGisDriver();
121 131
		pgd.setData(conn, lyrDef);
122
		
132

  
123 133
		return LayerFactory.createDBLayer(pgd, layerName, null);
124
		
134

  
125 135
	}
126
	
136

  
127 137
}

Also available in: Unified diff