Revision 32880 branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/store/postgresql/PostgreSQLResourceParameters.java

View differences:

PostgreSQLResourceParameters.java
27 27

  
28 28
package org.gvsig.fmap.dal.store.postgresql;
29 29

  
30
import org.gvsig.fmap.dal.DataTypes;
31 30
import org.gvsig.fmap.dal.store.jdbc.JDBCResourceParameters;
32
import org.gvsig.tools.ToolsLocator;
33
import org.gvsig.tools.dynobject.DynClass;
34
import org.gvsig.tools.dynobject.DynField;
35
import org.gvsig.tools.dynobject.DynObjectManager;
36 31

  
37 32
public class PostgreSQLResourceParameters extends JDBCResourceParameters
38 33
		implements PostgreSQLConnectionParameters {
39 34

  
40
	private static DynClass DYNCLASS = null;
35
	public static final String PARAMETERS_DEFINITION_NAME = "PostgreSQLResourceParameters";
41 36

  
42
	public static final String DYNCLASS_NAME = "PostgreSQLResourceParameters";
43

  
44 37
	public PostgreSQLResourceParameters() {
45
		super();
38
		super(PARAMETERS_DEFINITION_NAME,PostgreSQLResource.NAME);
46 39
	}
47 40

  
48 41
    public PostgreSQLResourceParameters(String url, String host, Integer port,
49 42
			String dbName, String user, String password,
50 43
			String jdbcDriverClassName, Boolean ssl) {
51
		super(url, host, port, dbName, user, password, jdbcDriverClassName);
44
		super(PARAMETERS_DEFINITION_NAME,PostgreSQLResource.NAME,url, host, port, dbName, user, password, jdbcDriverClassName);
52 45
		if (ssl != null) {
53 46
			this.setUseSSL(ssl.booleanValue());
54 47
		}
55 48
	}
56 49

  
57
	protected static void registerDynClass() {
58
		DynObjectManager dynman = ToolsLocator.getDynObjectManager();
59
		DynClass dynClass = dynman.get(DYNCLASS_NAME);
60
		DynField field;
61
		if (dynClass == null) {
62
			dynClass = dynman.add(DYNCLASS_NAME);
63

  
64
			dynClass.extend(JDBCResourceParameters.DYNCLASS_NAME);
65

  
66
			field = dynClass.addDynField(DYNFIELDNAME_USESSL);
67
			field.setTheTypeOfAvailableValues(DynField.ANY);
68
			field.setDescription("use SSL connetion");
69
			field.setType(DataTypes.BOOLEAN);
70
			field.setDefaultDynValue(Boolean.FALSE);
71

  
72
			field = dynClass.addDynField(DYNFIELDNAME_JDBC_DRIVER_CLASS_NAME);
73
			field.setTheTypeOfAvailableValues(DynField.ANY);
74
			field.setDescription("JDBC Driver class");
75
			field.setMandatory(true);
76
			field.setType(DataTypes.STRING);
77
			field.setDefaultDynValue(PostgreSQLLibrary.DEFAULT_JDCB_DRIVER_NAME);
78

  
79
			// Register the DynClass in the PersistenceManager
80
			ToolsLocator.getPersistenceManager().registerClass(
81
					PostgreSQLResourceParameters.class, dynClass);
82
		}
83
		DYNCLASS = dynClass;
84
	}
85

  
86

  
87 50
	public String getUrl() {
88 51
		return PostgreSQLLibrary.getJdbcUrl(getHost(),
89 52
				getPort(),
90 53
				getDBName());
91 54
	}
92 55

  
93
	public String getTypeName() {
94
		return PostgreSQLResource.NAME;
95
	}
96

  
97 56
	public Boolean getUseSSL() {
98 57
		return (Boolean) this.getDynValue(DYNFIELDNAME_USESSL);
99 58
	}
......
106 65
		this.setDynValue(DYNFIELDNAME_USESSL, new Boolean(useSSL));
107 66
	}
108 67

  
109
	protected String getDynClassName() {
110
		return DYNCLASS_NAME;
111
	}
112 68
}

Also available in: Unified diff