Statistics
| Revision:

root / branches / v2_0_0_prep / libraries / libFMap_daldb / src / org / gvsig / fmap / dal / store / mysql / MySQLStoreParameters.java @ 30754

History | View | Annotate | Download (3.04 KB)

1
/* gvSIG. Geographic Information System of the Valencian Government
2
*
3
* Copyright (C) 2007-2008 Infrastructures and Transports Department
4
* of the Valencian Government (CIT)
5
*
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; either version 2
9
* of the License, or (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
* MA  02110-1301, USA.
20
*
21
*/
22

    
23
/*
24
* AUTHORS (In addition to CIT):
25
* 2009 IVER T.I   {{Task}}
26
*/
27

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

    
30
import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
31
import org.gvsig.fmap.dal.store.jdbc.JDBCStoreParameters;
32
import org.gvsig.tools.ToolsLocator;
33
import org.gvsig.tools.dynobject.DelegatedDynObject;
34
import org.gvsig.tools.dynobject.DynClass;
35
import org.gvsig.tools.dynobject.DynObjectManager;
36

    
37
public class MySQLStoreParameters extends JDBCStoreParameters implements
38
                MySQLConnectionParameters {
39
    public static final String DYNCLASS_NAME = "MySQLStoreParameters";
40

    
41

    
42
    protected static void registerDynClass() {
43
                DynObjectManager dynman = ToolsLocator.getDynObjectManager();
44
                DynClass dynClass = dynman.get(DYNCLASS_NAME);
45
                if (dynClass == null) {
46
                        dynClass = dynman.add(DYNCLASS_NAME);
47

    
48
                        dynClass.extend(JDBCStoreParameters.DYNCLASS_NAME);
49

    
50
                        dynClass.extend(MySQLResourceParameters.DYNCLASS_NAME);
51

    
52
                        // Register the DynClass in the PersistenceManager
53
                        ToolsLocator.getPersistenceManager().registerClass(
54
                                        MySQLStoreParameters.class, dynClass);
55
                }
56

    
57
        }
58

    
59
        public MySQLStoreParameters() {
60
                super();
61
                initialize();
62
        }
63

    
64
        protected void initialize() {
65
                DynObjectManager dynman = ToolsLocator.getDynObjectManager();
66
                DynClass dynClass = dynman.get(DYNCLASS_NAME);
67
                this.delegatedDynObject = (DelegatedDynObject) dynman
68
                                .createDynObject(dynClass);
69
        }
70

    
71

    
72
        public String getDataStoreName() {
73
                return MySQLStoreProvider.NAME;
74
        }
75

    
76
        public String getDescription() {
77
                return MySQLStoreProvider.DESCRIPTION;
78
        }
79

    
80
        public Boolean getUseSSL() {
81
                return (Boolean) this.getDynValue(DYNFIELDNAME_USESSL);
82
        }
83

    
84
        public void setUseSSL(Boolean useSSL) {
85
                this.setDynValue(DYNFIELDNAME_USESSL, useSSL);
86
        }
87

    
88
        public void setUseSSL(boolean useSSL) {
89
                this.setDynValue(DYNFIELDNAME_USESSL, new Boolean(useSSL));
90
        }
91

    
92

    
93
        public void validate() throws ValidateDataParametersException {
94
                if (getJDBCDriverClassName() == null) {
95
                        setJDBCDriverClassName(MySQLLibrary.DEFAULT_JDCB_DRIVER_NAME);
96
                }
97
                if (getUrl() == null) {
98
                        setUrl(MySQLLibrary.getJdbcUrl(getHost(), getPort(),
99
                                        getDBName()));
100
                }
101

    
102
                if (getPort() == null) {
103
                        setPort(new Integer(3306));
104
                }
105
                super.validate();
106
        }
107

    
108
}